コード例 #1
0
        void IChainedCommandHandler <InvokeSignatureHelpCommandArgs> .ExecuteCommand(
            InvokeSignatureHelpCommandArgs args,
            Action nextHandler,
            CommandExecutionContext context
            )
        {
            AssertIsForeground();
            DismissSessionIfActive();

            var providers = GetProviders();

            if (providers == null)
            {
                return;
            }

            // Dismiss any Completion sessions when Signature Help is explicitly invoked.
            // There are cases when both show up implicitly, for example in argument lists
            // when the user types the `(`. If both are showing and the user explicitly
            // invokes Signature Help, they are requesting that the Signature Help control
            // be the focused one. Closing an existing Completion session accomplishes this.
            _completionBroker.GetSession(args.TextView)?.Dismiss();

            this.StartSession(
                providers,
                new SignatureHelpTriggerInfo(SignatureHelpTriggerReason.InvokeSignatureHelpCommand)
                );
        }
コード例 #2
0
 CommandState IChainedCommandHandler <InvokeSignatureHelpCommandArgs> .GetCommandState(
     InvokeSignatureHelpCommandArgs args,
     Func <CommandState> nextHandler
     )
 {
     AssertIsForeground();
     return(CommandState.Available);
 }
コード例 #3
0
 void IChainedCommandHandler <InvokeSignatureHelpCommandArgs> .ExecuteCommand(
     InvokeSignatureHelpCommandArgs args,
     Action nextHandler,
     CommandExecutionContext context
     )
 {
     AssertIsForeground();
     ExecuteCommandWorker(args, nextHandler, context);
 }
コード例 #4
0
        void IChainedCommandHandler <InvokeSignatureHelpCommandArgs> .ExecuteCommand(InvokeSignatureHelpCommandArgs args, Action nextHandler, CommandExecutionContext context)
        {
            AssertIsForeground();
            DismissSessionIfActive();

            var providers = GetProviders();

            if (providers == null)
            {
                return;
            }

            this.StartSession(providers, new SignatureHelpTriggerInfo(SignatureHelpTriggerReason.InvokeSignatureHelpCommand));
        }
コード例 #5
0
 void ICommandHandler <InvokeSignatureHelpCommandArgs> .ExecuteCommand(InvokeSignatureHelpCommandArgs args, Action nextHandler)
 {
     AssertIsForeground();
     ExecuteCommandWorker(args, nextHandler);
 }
コード例 #6
0
 CommandState ICommandHandler <InvokeSignatureHelpCommandArgs> .GetCommandState(InvokeSignatureHelpCommandArgs args, Func <CommandState> nextHandler)
 {
     AssertIsForeground();
     return(GetCommandStateWorker(args, nextHandler));
 }
コード例 #7
0
 VSCommanding.CommandState IChainedCommandHandler <InvokeSignatureHelpCommandArgs> .GetCommandState(InvokeSignatureHelpCommandArgs args, Func <VSCommanding.CommandState> nextHandler)
 {
     AssertIsForeground();
     return(nextHandler());
 }
コード例 #8
0
 CommandState IChainedCommandHandler <InvokeSignatureHelpCommandArgs> .GetCommandState(InvokeSignatureHelpCommandArgs args, Func <CommandState> nextHandler)
 {
     this.ThreadingContext.ThrowIfNotOnUIThread();
     return(nextHandler());
 }