Procédure pas - à - pas : Ajout d'une commande à la barre d'outils explorateur de solutions (c#)
Cette procédure pas - à - pas montre comment ajouter un bouton à la barre d'outils de Visual StudioExplorateur de solutions .
N'importe quel ordre, si d'une barre d'outils ou un menu, est considérée comme un bouton par Visual Studio. Lorsque l'utilisateur clique sur le bouton, le code dans le gestionnaire de commandes est exécuté. En général, les commandes associées sont rassemblées de constituer un groupe. Les menus ou des barres d'outils agissent comme conteneurs pour les groupes. La priorité détermine l'ordre dans lequel les différentes commandes à un groupe apparaissent dans le menu ou dans la barre d'outils. Vous pouvez empêcher un bouton pour être affiché dans la barre d'outils ou le menu en contrôlant sa visibilité. Une commande qui est répertorié dans une section d'<VisibilityConstraints> du fichier de .vsct apparaît uniquement dans le contexte associé. la visibilité ne peut pas être appliquée aux groupes.
Pour plus d'informations sur les menus, les commandes de la barre d'outils, et les fichiers de .vsct, consultez commandes, menus, et barres d'outils.
Notes
Les fichiers de la table de commande XML de utilisation (.vsct) au lieu de la commande répertorient les fichiers de configuration (.ctc) pour définir la façon dont les menus et les commandes apparaissent dans votre VSPackages.Pour plus d'informations, consultez Tableau de commande Visual Studio (. fichiers de Vsct).
Composants requis
Pour suivre cette procédure, vous devez installer Kit de développement logiciel Visual Studio.
Notes
Pour plus d'informations sur le Kit de développement logiciel Visual Studio, consultez Étendre la présentation de Visual Studio.Pour savoir comment télécharger Kit de développement logiciel Visual Studio, consultez Visual Studio Extensibility Developer Center sur le site Web MSDN.
Emplacements du modèle de projet de package Visual Studio
Le modèle de projet de package Visual Studio est disponible dans trois emplacements dans la boîte de dialogue de Nouveau projet :
sous Extensibilité Visual Basic. Le langage par défaut du projet est en Visual Basic.
sous Extensibilité c#. Le langage par défaut du projet est c#.
sous L'autre projet types l'extensibilité. Le langage par défaut du projet est en C++.
Création d'un VSPackage qui contient une commande de menu unique
Cette section de la procédure pas - à - pas montre comment utiliser le modèle de projet de package de Visual Studio pour créer un VSPackage qui prend en charge une commande de menu.
pour créer le SolutionToolbar VSPackage
créez un VSPackage nommé SolutionToolbar. Pour plus d'informations, consultez Procédure pas - à - pas : Créer une commande de menu à l'aide de le modèle de package Visual Studio.
Définissez le langage de programmation à Visual C#, sélectionnez Commande de menu, affectez le nom de la commande à bouton de barre d'outilscommande de test, puis définissez l'ID de commande à cmdidTestCmd.
Ajouter un bouton à la barre d'outils explorateur de solutions
Cette section de la procédure pas - à - pas montre comment ajouter un bouton à la barre d'outils d' Explorateur de solutions . Lorsque l'utilisateur clique sur le bouton, le code dans la méthode de rappel est exécuté.
Pour ajouter un bouton à la barre d'outils de l'explorateur de solutions
Dans Explorateur de solutions, double-cliquez sur SolutionToolbar.vsct pour l'ouvrir dans un éditeur de texte.
Dans la section d' <Symbols> , le nœud d' <GuidSymbol> dans dont le nom se termine par « CmdSet » contient le groupe de menus et la commande générée par le modèle de package. Ajoutez un élément d' <IDSymbol> à ce nœud pour déclarer le groupe qui contiendra votre commande.
<IDSymbol name="SolutionToolbarGroup" value="0x0190"/>
dans la section d' <Groups> , après l'entrée de groupe existant, définissez le nouveau groupe que vous avez déclaré dans l'étape précédente.
<Group guid="guidSolutionToolbarCmdSet" id="SolutionToolbarGroup" priority="0xF000"> <Parent guid="guidSHLMainMenu" id="IDM_VS_TOOL_PROJWIN"/> </Group>
Définir le GUID parent : la paire à guidSHLMainMenu et à IDM_VS_TOOL_PROJWIN met ce groupe dans la barre d'outils Explorateur de solutions , et définir une valeur de priorité la place après les autres groupes de commandes.
Dans la section d' <Buttons> , modifiez l'ID parent de l'entrée générée à partir de <Button> pour refléter le groupe que vous avez défini dans l'étape précédente. L'élément modifié d' <Button> doit ressembler au balisage suivantes.
<Button guid="guidSolutionToolbarCmdSet" id="cmdidTestCmd" priority="0x0100" type="Button"> <Parent guid="guidSolutionToolbarCmdSet" id="SolutionToolbarGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <CommandName>cmdidTestCmd</CommandName> <ButtonText>Toolbar Button Test Command</ButtonText> </Strings> </Button>
Générez la solution et vérifiez les erreurs.
appuyez sur F5 pour ouvrir la génération expérimentale de Visual Studio dans une deuxième fenêtre.
La barre d'outils d' Explorateur de solutions doit afficher le nouveau bouton de commande à droite des boutons existants. l'icône du bouton est le chiffre 1 dans une place.
cliquez sur le nouveau bouton.
Une boîte de dialogue comportant le message, « intérieur Microsoft.SolutionToolbar.SolutionToolbarPackage.MenuItemCallback() » doit s'afficher.
contrôler la visibilité d'un bouton
Cette section de la procédure pas - à - pas montre comment contrôler la visibilité d'un bouton d'une barre d'outils. En définissant un contexte à un ou plusieurs projets dans la section d' <VisibilityConstraints> du fichier de SolutionToolbar.vsct, vous limitez un bouton apparaisse uniquement lorsqu'un projet ou les projets ouverts.
Pour afficher un bouton lorsqu'un ou plusieurs projets ouverts
Si vous n'avez pas encore fermé la génération expérimentale de Visual Studio , clôturez-la maintenant.
dans la section d' <Buttons> de SolutionToolbar.vsct, ajoutez deux balises de commande à l'élément existant d' <Button> , entre <Strings> et les balises d' <Icons> .
<CommandFlag>DefaultInvisible</CommandFlag> <CommandFlag>DynamicVisibility</CommandFlag>
Les balises d' DefaultInvisible et d' DynamicVisibility doivent être définies de sorte que les entrées dans la section d' <VisibilityConstraints> puissent prises en compte.
créez une section d' <VisibilityConstraints> qui a deux entrées d' <VisibilityItem> . Mettez la nouvelle section juste après la balise de fermeture d' </Commands> .
<VisibilityConstraints> <VisibilityItem guid="guidSolutionToolbarCmdSet" id="cmdidTestCmd" context="UICONTEXT_SolutionHasSingleProject" /> <VisibilityItem guid="guidSolutionToolbarCmdSet" id="cmdidTestCmd" context="UICONTEXT_SolutionHasMultipleProjects" /> </VisibilityConstraints>
Chaque élément de visibilité représente une condition sous laquelle le bouton spécifié s'affiche. Pour appliquer plusieurs conditions, vous devez créer plusieurs entrées pour le même bouton.
Dans le menu Générer, cliquez sur Régénérer la solution. Vous devez régénérer la solution pour afficher le menu changer.
appuyez sur F5 pour ouvrir la génération expérimentale de Visual Studio .
La barre d'outils d' Explorateur de solutions ne contient pas le bouton qui a la valeur 1. numérique.
Ouvrez une solution qui contient un projet ou des projets multiples.
Le bouton comportant le chiffre 1 apparaît sur la barre d'outils à droite des boutons existants.
Dans le menu Fichier, cliquez sur Fermer la solution. Le bouton a de la barre d'outils.
La visibilité du bouton est contrôlée par Visual Studio jusqu'à ce que le VSPackage chargé. Une fois le VSPackage chargé, la visibilité du bouton est contrôlé par le VSPackage. Pour plus d'informations, consultez Comment : Créer et gérer des commandes dans les VSPackages (c#).
Voir aussi
Autres ressources
commandes, menus, et barres d'outils
Procédures pas - à - pas pour les commandes, de menus, et les barres d'outils