Compartilhar via


Adicionando menus e comandos a extensões do Visual Studio

Este artigo orienta você pelas etapas para adicionar menus e comandos à sua extensão do Visual Studio. Os comandos são mais frequentemente usados como botões em menus ao redor do Visual Studio. Para criar um comando requer duas etapas:

  1. Definir o comando
  2. Manipular o clique/invocação

Definir o comando

Cada botão em cada menu é um comando. Para adicionar um comando à sua extensão, você deve defini-lo no arquivo .vsct primeiro. Poderia ser algo assim:

<Buttons>
  <Button guid="MyPackage" id="MyCommand" priority="0x0105" type="Button">
    <Parent guid="VSMainMenu" id="View.DevWindowsGroup.OtherWindows.Group1"/>
    <Icon guid="ImageCatalogGuid" id="StatusInformation" />
    <CommandFlag>IconIsMoniker</CommandFlag>
    <Strings>
      <ButtonText>R&amp;unner Window</ButtonText>
    </Strings>
  </Button>
</Buttons>

Esse botão é colocado no grupo pai localizado no menu Exibir > Outras Janelas, conforme especificado no Parent elemento .

Agora você pode executar a extensão agora para ver se o comando aparece no local e no menu corretos.

Manipular o clique/invocações

Uma vez que o botão é definido, precisamos lidar com o que acontece quando ele é invocado. Fazemos isso em uma classe C# que se parece com isto:

[Command("489ba882-f600-4c8b-89db-eb366a4ee3b3", 0x0100)]
public class MyCommand : BaseCommand<TestCommand>
{
    protected override Task ExecuteAsync(OleMenuCmdEventArgs e)
    {
        // Do something
    }
}

Certifique-se de chamá-lo a partir do método da InitializeAsync sua Package classe.

protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
{
    await this.RegisterCommandsAsync();
 }    

O comando Guid e ID deve corresponder ao par guid/id do Button elemento no arquivo .vsct