Partager via


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 :

  1. Définir la commande
  2. 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&amp;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