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:
- Definieren des Befehls
- 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&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.