Ajouter un menu à la barre de menus de Visual Studio

Cette procédure pas à pas montre comment ajouter un menu à la barre de menus de l’environnement de développement intégré (IDE) visual Studio. La barre de menus IDE contient des catégories de menus telles que Fichier, Modifier, Afficher, Fenêtre et Aide.

Avant d’ajouter un nouveau menu à la barre de menus Visual Studio, déterminez si vos commandes doivent être placées dans un menu existant. Pour plus d’informations sur l’emplacement des commandes, consultez Menus et commandes pour Visual Studio.

Les menus sont déclarés dans le fichier .vsct du projet. Pour plus d’informations sur les menus et les fichiers .vsct , consultez Commandes, menus et barres d’outils.

En effectuant cette procédure pas à pas, vous pouvez créer un menu nommé Menu Test qui contient une commande.

Remarque

À partir de Visual Studio 2019, les menus de niveau supérieur fournis par les extensions sont placés sous le menu Extensions .

Créer un projet VSIX avec un modèle d’élément de commande personnalisé

  1. Créez un projet VSIX nommé TopLevelMenu. Vous trouverez le modèle de projet VSIX dans la boîte de dialogue Nouveau projet en recherchant « vsix ». Pour plus d’informations, consultez Créer une extension avec une commande de menu.

  2. Lorsque le projet s’ouvre, ajoutez un modèle d’élément de commande personnalisé nommé TestCommand. Dans le Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet, puis sélectionnez Ajouter>un nouvel élément. Dans la boîte de dialogue Ajouter un nouvel élément , accédez à Visual C# / Extensibilité et sélectionnez Commande. Dans le champ Nom en bas de la fenêtre, remplacez le nom du fichier de commande par TestCommand.cs.

Créer un menu dans la barre de menus IDE

  1. Dans Explorateur de solutions, ouvrez TopLevelMenuPackage.vsct.

    À la fin du fichier, un <Symbols> nœud contient plusieurs <GuidSymbol> nœuds. Dans le nœud nommé guidTopLevelMenuPackageCmdSet, ajoutez un nouveau symbole, comme suit :

    <IDSymbol name="TopLevelMenu" value="0x1021"/>
    
  2. Créez un nœud vide <Menus> dans le <Commands> nœud, juste avant <Groups>. Dans le <Menus> nœud, ajoutez un <Menu> nœud, comme suit :

    <Menus>
          <Menu guid="guidTopLevelMenuPackageCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
            <Parent guid="guidSHLMainMenu"
                    id="IDG_VS_MM_TOOLSADDINS" />
            <Strings>
              <ButtonText>Test Menu</ButtonText>
            </Strings>
        </Menu>
    </Menus>
    

    Les guid valeurs et id valeurs du menu spécifient le jeu de commandes et le menu spécifique dans le jeu de commandes.

    Les guid valeurs et id les valeurs de la position parente du menu dans la section de la barre de menus Visual Studio qui contient les menus Outils et Compléments.

    L’élément <ButtonText> spécifie que le texte doit apparaître dans l’élément de menu.

  3. Dans la <Groups> section, recherchez et <Group> modifiez l’élément <Parent> pour qu’il pointe vers le menu que nous venons d’ajouter :

    <Groups>
        <Group guid="guidTopLevelMenuPackageCmdSet" id="MyMenuGroup" priority="0x0600">
            <Parent guid="guidTopLevelMenuPackageCmdSet" id="TopLevelMenu"/>
        </Group>
    </Groups>
    

    Le groupe fait ainsi partie du nouveau menu.

  4. Dans la <Buttons> section, recherchez le <Button> nœud. Ensuite, dans le <Strings> nœud, remplacez l’élément <ButtonText>Test Commandpar .

    Notez que le modèle de package Visual Studio a généré un Button élément dont le parent a la valeur MyMenuGroup. Par conséquent, cette commande s’affiche dans votre menu.

Générer et tester l’extension

  1. Générez le projet et commencez le débogage. Une instance de l’instance expérimentale doit apparaître.

  2. Le menu Extensions de l’instance expérimentale doit contenir un menu Menu Test.

  3. Dans le menu Menu Test, sélectionnez Commande de test.

    Une boîte de message doit apparaître et afficher le message « TestCommand Inside TopLevelMenu.TestCommand.MenuItemCallback() ».