Partager via


Comment : Créez les barres d'outils pour les fenêtres Outil

Vous pouvez ajouter une barre d'outils à une fenêtre Outil en définissant un menu de type ToolWindowToolbar dans un fichier d'un VSPackage .vsct, puis programmer le package pour l'afficher.

Les barres d'outils dans des fenêtres Outil diffèrent des barres d'outils de l'environnement de développement intégré général (IDE) des manières suivantes :

  • Une barre d'outils de l'IDE peut être créée juste en définissant un menu de type Toolbar dans le fichier de .vsct. Une barre d'outils de la fenêtre Outil doit être créée par programme dans la fenêtre Outil cible.

  • Un utilisateur peut configurer une barre d'outils de l'environnement à l'aide de la boîte de dialogue de Personnaliser . Une barre d'outils de la fenêtre Outil ne peut pas être configurée de cette manière.

Créer une barre d'outils de la fenêtre Outil

Une barre d'outils de la fenêtre Outil est d'abord définie comme Menu, élément dans le fichier de .vsct.

Les procédures suivantes supposent que vous avez un projet d'un VSPackage dans lequel une fenêtre Outil est définie dans le fichier de .vsct. si vous créez un VSPackage, dans l'Assistant de package, sélectionnez fenêtre Outil pour ajouter un fichier de .vsct au projet de package et pour définir une fenêtre Outil.

Pour créer une barre d'outils de la fenêtre Outil

  1. ouvrez le fichier de .vsct dans l'éditeur.

  2. Recherchez la section qui est formée par Symbols, élément.

  3. recherchez GuidSymbol, élément qui contient vos menus, groupes, et commandes. Par défaut, il est nommé GUID <ProjectName> CmdSet.

  4. Ajoutez IDSymbol, élément pour votre barre d'outils, et un pour un groupe peut contenir vos commandes, comme indiqué dans l'exemple suivant.

    <IDSymbol name="TWToolbar" value="0x1000" />
    <IDSymbol name="TWToolbarGroup" value="0x1050" />
    

    Les attributs d' name des éléments d' GuidSymbol et d' IDSymbol à une barre d'outils, à une commande, ou un groupe défini fournissent un GUID : Paire d'ID qui représente cette barre d'outils, commande, ou groupe. GUID représente un jeu de commandes qui est défini pour votre VSPackage. Plusieurs jeux de commandes peuvent être définis dans le package. GUID : Les paires d'ID qui sont utilisées pour identifier chaque élément doivent être uniques.

  5. Juste au-dessus de la section qui est formée par Groups, élément, créez une section à l'aide de Menus, élément.

  6. Définissez la barre d'outils en tant que Menu, élément dans la section d' Menus , comme suit :

    1. Définir les attributs d' guid et d' id à un GUID : ID de la nouvelle barre d'outils.

    2. définissez l'attribut d' type à ToolWindowToolbar.

    3. Dans l'élément d' Menu , utilisez Strings, élément pour créer une section qui contient ButtonText, élément et CommandName, élément. L'élément d' ButtonText est utilisé pour définir le nom de la barre d'outils qu'il apparaît dans l'IDE. L'élément d' CommandName est utilisé pour définir le nom de la commande qui peut être entré dans la fenêtre de Commande pour accéder à la barre d'outils.

    L'exemple suivant définit une barre d'outils de la fenêtre Outil.

    <Menu guid="guidTWToolbarCmdSet" id="TWToolbar" type="ToolWindowToolbar">
      <CommandFlag>DefaultDocked</CommandFlag>
      <Strings>
        <ButtonText>Test Toolbar</ButtonText>
        <CommandName>Test Toolbar</CommandName>
      </Strings>
    </Menu>
    
  7. Dans la section d' Groups , créez Group, élément pour contenir les commandes que vous souhaitez voir apparaître dans votre barre d'outils.

    1. Définissez la priorité du groupe pour déterminer où il s'affiche dans votre barre d'outils.

      Un groupe qui possède un paramètre de priorité inférieure apparaît sur le côté gauche de la barre d'outils (ou supérieure, selon la façon dont la barre d'outils est orientée).

    2. Définissez le parent du groupe à un GUID : ID de la barre d'outils.

    Le groupe suivant apparaît dans la barre d'outils qui est définie dans l'exemple précédent.

    <Group guid="guidTWToolbarCmdSet" id="TWToolbarGroup" priority="0x0000">
      <Parent guid="guidTWToolbarCmdSet" id="TWToolbar" />
    </Group>
    

Afficher la barre d'outils de la fenêtre Outil

Utilisez managed package (MPF) pour programmer le package pour afficher la barre d'outils de la fenêtre Outil.

La propriété d' ToolBar de la classe d' ToolWindowPane prend une instance d' CommandID en tant que valeur. L'instance d' CommandID accepte un (chaîne) GUID et et (entier) un ID En définissant ces derniers à un GUID : La paire d'ID de la barre d'outils, la barre d'outils est liée à la fenêtre Outil. En général, cela se fait dans le constructeur de la classe qui dérive de la classe d' ToolWindowPane .

Une fenêtre Outil de code managé qui est générée à l'aide de le MPF ne peut avoir qu'une barre d'outils.

Pour afficher la barre d'outils de la fenêtre Outil

  1. Lorsque vous créez un VSPackage à l'aide de l'Assistant de package, le jeu de commandes GUID sont automatiquement ajoutés à la classe d' GuidList , qui est définie dans le fichier de Guids.cs. Les ID générés de menu et de commande sont ajoutés à la classe d' PkgCmdIDList , qui est définie dans PkgCmdID.cs. Ensuite, le GUID et des valeurs d'ID sont accessibles, dans un formulaire lisible, via ces deux classes.

    ouvrez PkgCmdID.cs.

  2. Ajoutez une entrée pour la barre d'outils de la fenêtre Outil, et pour toutes les commandes que vous souhaitez voir apparaître dans la barre d'outils. la valeur de chaque entrée doit correspondre à l'attribut d' value de l'élément associé d' IDSymbol .

    L'exemple suivant crée une entrée pour la barre d'outils définie précédemment.

    public const int TWToolbar = 0x1000;
    
  3. ouvrez MyToolWindow.cs.

  4. Dans le constructeur, affectez à la propriété d' ToolBar de la classe d' MyToolWindow à une nouvelle instance d' CommandID avec le GUID et l'ID de la barre d'outils comme paramètres, comme illustré dans l'exemple suivant.

    this.ToolBar = new CommandID(
        GuidList.guidTWToolbarCmdSet,
        PkgCmdIDList.TWToolbar);
    

    Si les classes de GuidList et de PkgCmdIDList ne sont pas définies, vous pouvez utiliser la valeur d' String de GUID et la valeur d' Int de l'ID plutôt.

Voir aussi

Tâches

Comment : Créer des groupes personnalisés de boutons

Procédure pas - à - pas : Ajouter une barre d'outils à une fenêtre Outil

Autres ressources

Tableau de commande Visual Studio (. fichiers de Vsct)

Tâches courantes avec des commandes, des menus, et les barres d'outils