Commandes, menus et barres d’outils

Les menus et les barres d’outils sont la façon dont les utilisateurs accèdent aux commandes dans votre VSPackage. Les commandes sont des fonctions qui accomplissent des tâches, comme l’impression d’un document, l’actualisation d’une vue ou la création d’un fichier. Les menus et barres d’outils s’avèrent pratiques pour présenter graphiquement vos commandes aux utilisateurs. En règle générale, les commandes associées sont regroupées dans le même menu ou la même barre d’outils.

  • Les menus apparaissent généralement sous la forme de chaînes contenant un seul mot rassemblées sur une ligne en haut de l’environnement de développement intégré (IDE) ou d’une fenêtre Outil. Ils peuvent également apparaître après un clic droit et sont alors appelés menus contextuels. Quand vous cliquez dessus, les menus se développent pour présenter une ou plusieurs commandes. Les commandes, quand vous cliquez dessus, permettent d’effectuer des tâches ou de lancer des sous-menus qui contiennent d’autres commandes. Certains noms de menus connus sont Fichier, Édition, Affichage et Fenêtre. Pour plus d’informations, consultez Étendre les menus et les commandes.

  • Les barres d’outils sont généralement des rangées de boutons et autres contrôles, comme des zones de liste modifiable, des zones de liste, des zones de texte et des contrôleurs de menu. Tous les contrôles de barre d’outils sont associés à des commandes. Quand vous cliquez sur un bouton de barre d’outils, sa commande associée est activée. Les boutons de barre d’outils comportent généralement des icônes qui suggèrent les commandes sous-jacentes, comme une imprimante pour une commande Imprimer. Dans un contrôle de liste déroulante, chaque élément de la liste est associé à une commande différente. Un contrôleur de menu est un hybride dans lequel un côté du contrôle est un bouton de barre d’outils et l’autre côté est une flèche vers le bas qui présente des commandes supplémentaires quand vous cliquez dessus. Pour plus d’informations, consultez Ajouter un contrôleur de menu à une barre d’outils.

  • Quand vous créez une commande, vous devez également lui créer un gestionnaire d’événements. Le gestionnaire d’événements détermine quand la commande est visible ou activée, vous permet de modifier son texte et garantit que la commande répond correctement (« itinéraires ») lors de son activation. Dans la plupart des cas, l’IDE gère les commandes à l’aide de l’interface IOleCommandTarget. Les commandes dans Visual Studio routent de manière hiérarchique, en commençant par le contexte de commande le plus interne, en fonction de la sélection locale et en continuant vers le contexte le plus externe, en fonction de la sélection globale. Les commandes ajoutées au menu principal sont immédiatement disponibles pour les scripts. Pour plus d’informations, consultez MenuCommands vs. Objets de contexte OleMenuCommands et Selection.

    Pour définir de nouveaux menus et barres d’outils, vous devez les décrire dans un fichier de table de commandes Visual Studio (.vsct). Le modèle de package Visual Studio crée ce fichier pour vous, ainsi que les éléments nécessaires pour prendre en charge les commandes, barres d’outils et éditeurs que vous avez sélectionnés dans le modèle. Vous pouvez également écrire votre propre fichier .vsct à l’aide du schéma XML décrit ici : référence de schéma XML VSCT.

    Pour plus d’informations sur l’utilisation des fichiers .vsct , consultez les fichiers de la table de commandes Visual Studio (.vsct).

    Les rubriques de cette section expliquent comment fonctionnent les commandes, les menus et les barres d’outils dans VSPackages.

Contenu de cette section

Description détaillée de la spécification du format du tableau de commandes.

Décrit une syntaxe et un compilateur XML pour les tables de commandes.

Décrit les commandes prédéfinies, les groupes, les menus et les barres d’outils.

Spécifie les menus, commandes et groupes de commandes prédéfinis disponibles pour une utilisation par l’IDE Visual Studio.

Explique comment concevoir des commandes.

Fournit des instructions pour les commandes.

Explique comment rendre les commandes disponibles pour Visual Studio.

Explique comment implémenter des commandes qui utilisent des assemblys d’interopérabilité.

Explique le routage des commandes dans VSPackages.