Dela via


Lägga till menyer och kommandon i Visual Studio-tillägg

Den här artikeln beskriver hur du lägger till menyer och kommandon i Visual Studio-tillägget. Kommandon används oftast som knappar i menyer runt Visual Studio. För att skapa ett kommando krävs två steg:

  1. Definiera kommandot
  2. Hantera klick/anrop

Definiera kommandot

Varje knapp i varje meny är ett kommando. Om du vill lägga till ett kommando i tillägget måste du definiera det i .vsct-filen först. Det kan se ut ungefär så här:

<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>

Den här knappen placeras i den överordnade gruppen som finns på menyn Visa > andra Windows enligt vad som anges i elementet Parent .

Nu kan du köra tillägget för att se om kommandot visas på rätt plats och meny.

Hantering av klick och anrop

När knappen har definierats måste vi hantera vad som händer när den anropas. Vi gör det i en C#-klass som ser ut så här:

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

Se till att anropa den från Package klassens InitializeAsync -metod.

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

Kommandot Guid och ID måste matcha guid/id-paret från Button elementet i .vsct-filen