Ajout d’une commande à la barre d’outils de l’Explorateur de solutionsAdding a Command to the Solution Explorer Toolbar

Cette procédure pas à pas montre comment ajouter un bouton à la l’Explorateur de solutions barre d’outils.This walkthrough shows how to add a button to the Solution Explorer toolbar.

N’importe quelle commande dans un menu ou une barre d’outils est appelée un bouton dans Visual Studio.Any command on a toolbar or menu is called a button in Visual Studio. Lorsque le bouton est activé, le code dans le Gestionnaire de commande est exécuté.When the button is clicked, the code in the command handler is executed. En règle générale, les commandes associées sont regroupées pour former un groupe.Typically, related commands are grouped together to form one group. Menus et barres d’outils agissent comme conteneurs pour les groupes.Menus or toolbars act as containers for groups. Priorité détermine l’ordre dans lequel les commandes individuelles dans un groupe dans le menu ou la barre d’outils.Priority determines the order in which individual commands in a group appear in the menu or on the toolbar. Vous pouvez empêcher un bouton s’affiche dans la barre d’outils ou le menu en contrôlant sa visibilité.You can prevent a button from being displayed on the toolbar or the menu by controlling its visibility. Une commande qui est répertoriée dans un <VisibilityConstraints> section du fichier .vsct apparaît uniquement dans le contexte associé.A command that is listed in a <VisibilityConstraints> section of the .vsct file appears only in the associated context. La visibilité ne peut pas être appliquée aux groupes.The visibility cannot be applied to groups.

Pour plus d’informations sur les menus, les commandes de la barre d’outils et les fichiers .vsct, consultez commandes, Menus et barres d’outils.For more information about menus, toolbar commands, and .vsct files, see Commands, Menus, and Toolbars.

Note

Utilisez les fichiers XML Command Table (.vsct) au lieu des fichiers de configuration (.ctc) de table de commande pour définir l’apparaissent des menus et des commandes dans vos VSPackages.Use XML Command Table (.vsct) files instead of command table configuration (.ctc) files to define how menus and commands appear in your VSPackages. Pour plus d'informations, consultez Visual Studio Command Table (.Vsct) Files.For more information, see Visual Studio Command Table (.Vsct) Files.

PrérequisPrerequisites

À partir de Visual Studio 2015, vous n’installez pas le Kit de développement logiciel Visual Studio à partir du centre de téléchargement.Starting in Visual Studio 2015, you do not install the Visual Studio SDK from the download center. Il est inclus comme une fonctionnalité facultative dans le programme d’installation de Visual Studio.It is included as an optional feature in Visual Studio setup. Vous pouvez également installer le kit SDK VS ultérieurement.You can also install the VS SDK later on. Pour plus d’informations, consultez l’installation de Visual Studio SDK.For more information, see Installing the Visual Studio SDK.

Création d’une Extension avec une commande de MenuCreating an Extension with a Menu Command

Créez un projet VSIX nommé SolutionToolbar.Create a VSIX project named SolutionToolbar. Ajouter un modèle d’élément de commande menu nommé ToolbarButton.Add a menu command item template named ToolbarButton. Pour plus d’informations sur la procédure à suivre, consultez avec une commande de Menu pour créer une Extension.For information about how to do this, see Creating an Extension with a Menu Command.

Ajout d’un bouton à la barre d’outils de l’Explorateur de solutionsAdding a Button to the Solution Explorer Toolbar

Cette section de la procédure pas à pas montre comment ajouter un bouton à la l’Explorateur de solutions barre d’outils.This section of the walkthrough shows how to add a button to the Solution Explorer toolbar. Lorsque le bouton est activé, le code dans la méthode de rappel est exécuté.When the button is clicked, the code in the callback method is run.

  1. Dans le fichier ToolbarButtonPackage.vsct, accédez à la <Symbols> section.In the ToolbarButtonPackage.vsct file, go to the <Symbols> section. Le <GuidSymbol> nœud contient le groupe de menus et la commande qui a été généré par le modèle de package.The <GuidSymbol> node contains the menu group and command that was generated by the package template. Ajouter un <IDSymbol> élément à ce nœud pour déclarer le groupe qui conserve votre commande.Add an <IDSymbol> element to this node to declare the group that will hold your command.

    <IDSymbol name="SolutionToolbarGroup" value="0x0190"/>  
    
  2. Dans la <Groups> section, après l’entrée de groupe existant, définir le nouveau groupe que vous avez déclaré à l’étape précédente.In the <Groups> section, after the existing group entry, define the new group that you declared in the previous step.

    <Group guid="guidToolbarButtonPackageCmdSet"  
           id="SolutionToolbarGroup" priority="0xF000">  
            <Parent guid="guidSHLMainMenu" id="IDM_VS_TOOL_PROJWIN"/>  
          </Group>  
    

    Définissant le parent paire GUID : ID guidSHLMainMenu et IDM_VS_TOOL_PROJWIN place ce groupe le l’Explorateur de solutions barre d’outils et la définition d’une valeur de priorité élevée place après les autres groupes de commandes.Setting the parent GUID:ID pair to guidSHLMainMenu and IDM_VS_TOOL_PROJWIN puts this group on the Solution Explorer toolbar, and setting a high-priority value puts it after the other command groups.

  3. Dans le <Buttons> section, modifiez l’ID parent généré <Button> entrée afin de refléter le groupe que vous avez définie à l’étape précédente.In the <Buttons> section, change the parent ID of the generated <Button> entry to reflect the group that you defined in the previous step. Modifié <Button> élément doit ressembler à ceci :The modified <Button> element should look like this:

    <Button guid="guidToolbarButtonPackageCmdSet" id="ToolbarButtonId" priority="0x0100" type="Button">  
        <Parent guid="guidToolbarButtonPackageCmdSet" id="SolutionToolbarGroup" />  
        <Icon guid="guidImages" id="bmpPicStrikethrough" />  
        <Strings>  
            <ButtonText>Invoke ToolbarButton</ButtonText>  
        </Strings>  
    </Button>  
    
  4. Générez le projet et commencez le débogage.Build the project and start debugging. L’instance expérimentale s’affiche.The experimental instance appears.

    Le l’Explorateur de solutions barre d’outils doit afficher le nouveau bouton de commande à droite des boutons existants.The Solution Explorer toolbar should display the new command button to the right of the existing buttons. L’icône du bouton est barré.The button icon is the strikethrough.

  5. Cliquez sur le bouton Nouveau.Click the new button.

    Une boîte de dialogue avec le message ToolbarButtonPackage dans SolutionToolbar.ToolbarButton.MenuItemCallback() doit être affiché.A dialog box that has the message ToolbarButtonPackage Inside SolutionToolbar.ToolbarButton.MenuItemCallback() should be displayed.

Contrôle de la visibilité d’un boutonControlling the Visibility of a Button

Cette section de la procédure pas à pas montre comment contrôler la visibilité d’un bouton sur une barre d’outils.This section of the walkthrough shows how to control the visibility of a button on a toolbar. En définissant un contexte à un ou plusieurs projets dans la <VisibilityConstraints> section du fichier SolutionToolbar.vsct, vous limitez un bouton qui s’affiche uniquement quand un ou plusieurs projets sont ouverts.By setting a context to one or more projects in the <VisibilityConstraints> section of the SolutionToolbar.vsct file, you restrict a button to appear only when a project or projects are open.

Pour afficher un bouton quand un ou plusieurs projets sont ouvertsTo display a button when one or more projects are open

  1. Dans le <Buttons> section de ToolbarButtonPackage.vsct, ajouter deux indicateurs de commande à le <Button> élément, entre le <Strings> et <Icons> balises.In the <Buttons> section of ToolbarButtonPackage.vsct, add two command flags to the existing <Button> element, between the <Strings> and <Icons> tags.

    <CommandFlag>DefaultInvisible</CommandFlag>  
    <CommandFlag>DynamicVisibility</CommandFlag>  
    

    Le DefaultInvisible et DynamicVisibility indicateurs doivent être définis, ainsi que les entrées dans la <VisibilityConstraints> section puisse prendre effet.The DefaultInvisible and DynamicVisibility flags must be set so that entries in the <VisibilityConstraints> section can take effect.

  2. Créer un <VisibilityConstraints> section qui a deux <VisibilityItem> entrées.Create a <VisibilityConstraints> section that has two <VisibilityItem> entries. Placer la nouvelle section juste après la fermeture </Commands> balise.Put the new section just after the closing </Commands> tag.

    <VisibilityConstraints>  
        <VisibilityItem guid="guidToolbarButtonPackageCmdSet"  
              id="ToolbarButtonId"  
              context="UICONTEXT_SolutionHasSingleProject" />  
        <VisibilityItem guid="guidToolbarButtonPackageCmdSet"  
              id="ToolbarButtonId"  
              context="UICONTEXT_SolutionHasMultipleProjects" />  
    </VisibilityConstraints>  
    

    Chaque élément de visibilité représente une condition sous laquelle le bouton spécifié s’affiche.Each visibility item represents a condition under which the specified button is displayed. Pour appliquer plusieurs conditions, vous devez créer plusieurs entrées pour le même bouton.To apply multiple conditions, you must create multiple entries for the same button.

  3. Générez le projet et commencez le débogage.Build the project and start debugging. L’instance expérimentale s’affiche.The experimental instance appears.

    Le l’Explorateur de solutions barre d’outils ne contient pas le bouton Barré.The Solution Explorer toolbar does not contain the strikethrough button.

  4. Ouvrez une solution qui contient un projet.Open any solution that contains a project.

    Le bouton Barré apparaît sur la barre d’outils à droite des boutons existants.The strikethrough button appears on the toolbar to the right of the existing buttons.

  5. Sur le fichier menu, cliquez sur fermer la Solution.On the File menu, click Close Solution. Le bouton disparaît de la barre d’outils.The button disappears from the toolbar.

    La visibilité du bouton est contrôlée par Visual StudioVisual Studio jusqu'à ce que le VSPackage est chargé.The visibility of the button is controlled by Visual StudioVisual Studio until the VSPackage is loaded. Une fois le VSPackage est chargé, la visibilité du bouton est contrôlée par le VSPackage.After the VSPackage is loaded, the visibility of the button is controlled by the VSPackage. Pour plus d’informations, consultez MenuCommands Vs. OleMenuCommands.For more information, see MenuCommands Vs. OleMenuCommands.

Voir aussiSee Also

Commandes, menus et barres d’outilsCommands, Menus, and Toolbars