Freigeben über


Hinzufügen von Menüs und Befehlen zu Visual Studio-Erweiterungen

Dieser Artikel führt Sie durch die Schritte zum Hinzufügen von Menüs und Befehlen zur Visual Studio-Erweiterung. Befehle werden am häufigsten als Schaltflächen in Menüs in Visual Studio verwendet. Zum Erstellen eines Befehls sind zwei Schritte erforderlich:

  1. Definieren des Befehls
  2. Behandeln des Klick-/Aufrufs

Definieren des Befehls

Jede Schaltfläche in jedem Menü ist ein Befehl. Um ihrer Erweiterung einen Befehl hinzuzufügen, müssen Sie ihn zuerst in der VSCT-Datei definieren. Es könnte ungefähr wie folgt aussehen:

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

Diese Schaltfläche wird in der übergeordneten Gruppe im Menü "Andere Fenster anzeigen>" platziert, wie im Parent Element angegeben.

Sie können die Erweiterung jetzt ausführen, um festzustellen, ob der Befehl an der richtigen Position und im richtigen Menü angezeigt wird.

Behandeln der Klick-/Aufrufe

Sobald die Schaltfläche definiert ist, müssen wir behandeln, was passiert, wenn sie aufgerufen wird. Dies geschieht in einer C#-Klasse, die wie folgt aussieht:

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

Stellen Sie sicher, dass Sie sie über die Methode Ihrer Package Klasse InitializeAsync aufrufen.

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

Die Befehls-GUID und ID müssen mit dem GUID/ID-Paar aus Button dem Element in der VSCT-Datei übereinstimmen.