Compartilhar via


Adicionar um menu à barra de menus do Visual Studio

Este passo a passo mostra como adicionar um menu à barra de menus do ambiente de desenvolvimento integrado (IDE) do Visual Studio. A barra de menus do IDE contém categorias de menu como Arquivo, Editar, Exibir, Janela e Ajuda.

Antes de adicionar um novo menu à barra de menus do Visual Studio, considere se seus comandos devem ser colocados em um menu existente. Para obter mais informações sobre o posicionamento de comandos, consulte Menus e comandos para Visual Studio.

Os menus são declarados no arquivo .vsct do projeto. Para obter mais informações sobre menus e arquivos .vsct, consulte Comandos, menus e barras de ferramentas.

Ao concluir este passo a passo, você pode criar um menu chamado Test Menu que contém um comando.

Observação

A partir do Visual Studio 2019, os menus de nível superior contribuídos por extensões são colocados no menu Extensões .

Criar um projeto VSIX que tenha um modelo de item de comando personalizado

  1. Crie um projeto VSIX chamado TopLevelMenu. Você pode encontrar o modelo de projeto VSIX na caixa de diálogo Novo projeto pesquisando por "vsix". Para obter mais informações, consulte Criar uma extensão com um comando de menu.

  2. Quando o projeto for aberto, adicione um modelo de item de comando personalizado chamado TestCommand. No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Adicionar>Novo Item. Na caixa de diálogo Adicionar Novo Item , vá para Visual C# / Extensibilidade e selecione Comando. No campo Nome na parte inferior da janela, altere o nome do arquivo de comando para TestCommand.cs.

Criar um menu na barra de menus do IDE

  1. No Gerenciador de Soluções, abra TopLevelMenuPackage.vsct.

    No final do arquivo, há um <Symbols> nó que contém vários <GuidSymbol> nós. No nó chamado guidTopLevelMenuPackageCmdSet, adicione um novo símbolo, da seguinte maneira:

    <IDSymbol name="TopLevelMenu" value="0x1021"/>
    
  2. Crie um nó vazio <Menus> no <Commands> nó, imediatamente antes <Groups>de . <Menus> No nó, adicione um <Menu> nó, da seguinte maneira:

    <Menus>
          <Menu guid="guidTopLevelMenuPackageCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
            <Parent guid="guidSHLMainMenu"
                    id="IDG_VS_MM_TOOLSADDINS" />
            <Strings>
              <ButtonText>Test Menu</ButtonText>
            </Strings>
        </Menu>
    </Menus>
    

    Os guid valores e do menu especificam o conjunto de comandos e id o menu específico no conjunto de comandos.

    Os guid valores e do pai posicionam o menu na seção da barra de menus do Visual Studio que contém os menus Ferramentas e id Suplementos.

    O <ButtonText> elemento especifica que o texto deve aparecer no item de menu.

  3. <Groups> Na seção, localize o elemento e altere para <Parent> apontar para o <Group> menu que acabamos de adicionar:

    <Groups>
        <Group guid="guidTopLevelMenuPackageCmdSet" id="MyMenuGroup" priority="0x0600">
            <Parent guid="guidTopLevelMenuPackageCmdSet" id="TopLevelMenu"/>
        </Group>
    </Groups>
    

    Isso faz com que o grupo faça parte do novo menu.

  4. Na seção , localize o <Buttons> <Button> nó. Em seguida, no nó, altere o <Strings> <ButtonText> elemento para Test Command.

    Observe que o modelo de pacote do Visual Studio gerou um Button elemento que tem seu pai definido como MyMenuGroup. Como resultado, esse comando aparece no menu.

Criar e testar a extensão

  1. Compile o projeto e comece a depuração. Uma instância da instância experimental deve aparecer.

  2. O menu Extensões na instância experimental deve conter um menu Menu de teste .

  3. No menu Menu de teste, selecione Comando de teste.

    Uma caixa de mensagem deve aparecer e exibir a mensagem "TestCommand dentro de TopLevelMenu.TestCommand.MenuItemCallback()".