Compartilhar via


How to: Expor uma Adicionar-em um Menu de atalho

Enquanto o Visual Studio o modelo de automação torna mais fácil de colocar o suplemento comandos nos menus de nível superior, como de Ferramentas menu, você também pode adicionar comandos de menus de atalho e submenus.

Para fazer isso, no entanto, você deve usar o modelo de objeto da barra de comandos do Microsoft Visual Studio definir explicitamente o menu de atalho de destino e o submenu. Em seguida, você deve chamar o Visual Studio AddControl método.

Menus de atalho são semelhantes de outros menus de Visual Studio.Para acessá-los, você aponta para uma seta para baixo em um menu suspenso ou clique com o botão direito um item em um ambiente de desenvolvimento integrado (IDE).

Para adicionar um comando para um menu de atalho (ou qualquer menu ou barra de ferramentas), você deve primeiro saber o nome do comando. Localizou pesquisando por meio de teclado nó na Opções caixa de diálogo na Ferramentas menu.

O procedimento a seguir demonstra como adicionar um comando add-in para o Lista de tarefas o menu de atalho.

ObservaçãoObservação

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição. Esses procedimentos foram desenvolvidos com o General Development Settings ativo. Para alterar as configurações, escolha importação e Exportar configurações sobre o Ferramentas menu. Para obter mais informações, consulte Trabalhando com configurações.

Para adicionar um comando de adicionar um menu de atalho

  1. No menu File, aponte para New, e em seguida, clique em Project.

  2. No Novo projeto diálogo caixa, expanda Other Project Types, clique em extensibilidadee, em seguida, clique em Visual Studio Add-in na modelos painel.

    Nome do suplemento ContextCmd e clique em OK para iniciar o Visual Studio Add-in Wizard.

  3. Selecione a opção para criar uma interface de usuário (UI) para o suplemento, verificando a você gostaria de criar um comando de interface de barra para seu suplemento? caixa.

    Isso adiciona alguns códigos de interface do usuário para o OnConnection método. Ele também adiciona o Exec método que manipula o evento quando alguém clicar o comando add-in, e o QueryStatus método, que fornece informações sobre o status do add-in.

  4. Substitua o código com o seguinte:

    Imports System
    Imports Microsoft.VisualStudio.CommandBars
    Imports Extensibility
    Imports EnvDTE
    Imports EnvDTE80
    
    Public Class Connect
    
        Implements IDTExtensibility2
        Implements IDTCommandTarget
    
        Dim _applicationObject As DTE2
        Dim _addInInstance As AddIn
    
        Dim cmdBarCtl As CommandBarControl
    
        Public Sub New()
        End Sub
    
        Public Sub OnConnection(ByVal application As Object, ByVal _
          connectMode As ext_ConnectMode, ByVal addInInst As Object, _
          ByRef custom As Array) Implements _
          IDTExtensibility2.OnConnection
            Dim cmd As Command
            Dim cmdBar As CommandBar
    
            _applicationObject = CType(application, DTE2)
            _addInInstance = CType(addInInst, AddIn)
    
            Try
                If CType(ext_ConnectMode.ext_cm_AfterStartup Or _
                  ext_ConnectMode.ext_cm_Startup, Boolean) Then
                    ' If the command does not exist, add it.
                    If cmd Is Nothing Then
                        cmd = _applicationObject.Commands. _
                          AddNamedCommand(_addInInstance, _
                          "newCmd", "newCmd", "Runs the add-in.", _
                          True, 59, Nothing, _
                          vsCommandStatus.vsCommandStatusSupported _
                          Or vsCommandStatus.vsCommandStatusEnabled)
                    End If
    
                    ' Reference the Task List shortcut menu.
                    cmdBar = CType(_applicationObject. _
                      CommandBars.Item("Task List"), _
                      Microsoft.VisualStudio.CommandBars.CommandBar)
    
                    ' Add a command to the Task List's shortcut menu.
                    cmdBarCtl = CType(cmd.AddControl(cmdBar, _
                      cmdBar.Controls.Count + 1), _
                      Microsoft.VisualStudio.CommandBars. _
                      CommandBarControl)
                    cmdBarCtl.Caption = "A New Command"
                End If
            Catch e As System.Exception
                System.Windows.Forms.MessageBox.Show(e.ToString)
            End Try
        End Sub
    
        Public Sub OnDisconnection(ByVal disconnectMode As _
          ext_DisconnectMode, ByRef custom As Array) Implements _
          IDTExtensibility2.OnDisconnection
            Try
                ' Delete the command bar control from the 
                   ' shortcut menu.
                If Not (cmdBarCtl Is Nothing) Then
                    cmdBarCtl.Delete()
                End If
            Catch e As System.Exception
                System.Windows.Forms.MessageBox.Show(e.ToString)
            End Try
        End Sub
    
        Public Sub OnAddInsUpdate(ByRef custom As Array) Implements _
          IDTExtensibility2.OnAddInsUpdate
        End Sub
    
        Public Sub OnStartupComplete(ByRef custom As Array) Implements _
          IDTExtensibility2.OnStartupComplete
        End Sub
    
        Public Sub OnBeginShutdown(ByRef custom As Array) Implements _
          IDTExtensibility2.OnBeginShutdown
        End Sub
    
        Public Sub QueryStatus(ByVal commandName As String, ByVal _
          neededText As vsCommandStatusTextWanted, ByRef status As _
          vsCommandStatus, ByRef commandText As Object) Implements _
          IDTCommandTarget.QueryStatus
            If commandName = "ContextCmd.Connect.newCmd" Then
                status = CType(vsCommandStatus.vsCommandStatusEnabled _
                  + vsCommandStatus.vsCommandStatusSupported, _
                  vsCommandStatus)
            Else
                status = vsCommandStatus.vsCommandStatusUnsupported
            End If
        End Sub
    
        Public Sub Exec(ByVal commandName As String, ByVal _
          executeOption As vsCommandExecOption, ByRef varIn As _
          Object, ByRef varOut As Object, ByRef handled As Boolean) _
          Implements IDTCommandTarget.Exec
            handled = False
            If executeOption = vsCommandExecOption. _
              vsCommandExecOptionDoDefault Then
                If commandName = "ContextCmd.Connect.newCmd" Then
                    handled = True
                    System.Windows.Forms.MessageBox.Show("Add-in _
                      running...")
                End If
            End If
        End Sub
    End Class
    
  5. Adicione o código que você deseja executar quando o comando é clicado na Exec procedimento.

  6. Criar o suplemento e, em seguida, executá-lo.

  7. Exibir o Lista de tarefas clicando em Lista de tarefas na Exibir menu.

  8. Sobre o Ferramentas menu, clique em Gerenciador de suplementos.

  9. Ative o suplemento de ContextCmd, marcando a caixa próxima a ele no Gerenciador de suplementos.

  10. Com o botão direito do lista de tarefas.

    O ContextCmd suplemento comando aparece no menu de atalho.

Consulte também

Tarefas

How to: Adicionar-Ins usando o Adicionar-no Gerenciador de controle

How to: Criar um Adicionar-

Walkthrough: Criando um assistente

Referência

Switches e comandos de Visual Studio

Conceitos

Exibindo Ins Adicionar-nas barras de ferramentas e Menus

Adicionar-No registro

Automation Object Model Chart

Outros recursos

Criação de assistentes e ins Adicionar-