Ajout de menus &commandes aux extensions Visual Studio
Cet article vous guide tout au long des étapes permettant d’ajouter des menus et des commandes à votre extension Visual Studio. Les commandes sont les plus souvent utilisées comme boutons dans les menus autour de Visual Studio. Pour créer une commande, vous devez effectuer deux étapes :
- Définir la commande
- Gérer le clic/appel
Définir la commande
Chaque bouton de chaque menu est une commande. Pour ajouter une commande à votre extension, vous devez d’abord la définir dans le fichier .vsct. Il pourrait ressembler à ceci :
<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>
Ce bouton est placé dans le groupe parent situé dans le menu Afficher > d’autres fenêtres , comme spécifié dans l’élément Parent
.
Vous pouvez maintenant exécuter l’extension pour voir si la commande s’affiche à l’emplacement et au menu appropriés.
Gérer les clics/appels
Une fois le bouton défini, nous devons gérer ce qui se passe lorsqu’il est appelé. Nous faisons cela dans une classe C# qui ressemble à ceci :
[Command("489ba882-f600-4c8b-89db-eb366a4ee3b3", 0x0100)]
public class MyCommand : BaseCommand<TestCommand>
{
protected override Task ExecuteAsync(OleMenuCmdEventArgs e)
{
// Do something
}
}
Veillez à l’appeler à partir de la méthode de InitializeAsync
votre Package
classe.
protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
{
await this.RegisterCommandsAsync();
}
Le GUID de commande et l’ID doivent correspondre à la paire GUID/ID à partir de Button
l’élément dans le fichier .vsct