Disponibilité des commandes

Le contexte Visual Studio détermine les commandes disponibles. Le contexte peut changer en fonction du projet actuel, de l’éditeur actuel, des VSPackages chargés et d’autres aspects de l’environnement de développement intégré (IDE).

Contextes de commande

Les contextes de commande suivants sont les plus courants :

  • IDE : Les commandes fournies par l’IDE sont toujours disponibles.

  • VSPackage : les VSPackages peuvent définir quand les commandes doivent être affichées ou masquées.

  • Projet : Les commandes de projet s’affichent uniquement pour le projet actuellement sélectionné.

  • Éditeur : un seul éditeur peut être actif à la fois. Les commandes de l’éditeur actif sont disponibles. Un éditeur travaille en étroite collaboration avec un service de langage. Le service de langage doit traiter ses commandes dans le contexte de l’éditeur associé.

  • Type de fichier : un éditeur peut charger plusieurs types de fichier. Les commandes disponibles peuvent changer en fonction du type de fichier.

  • Fenêtre active : la dernière fenêtre de document active définit le contexte d’interface utilisateur pour les liaisons de clés. Toutefois, une fenêtre d’outil qui a une table de liaison de clé qui ressemble au navigateur web interne peut également définir le contexte de l’interface utilisateur. Pour les fenêtres de document à plusieurs onglets, telles que l’éditeur HTML, chaque onglet a un GUID de contexte de commande différent. Une fois qu’une fenêtre outil est inscrite, elle est toujours disponible dans le menu Affichage .

  • Contexte de l’interface utilisateur : les contextes d’interface utilisateur sont identifiés par les valeurs de la VSConstants.UICONTEXT classe, par exemple, SolutionBuilding_guid lorsque la solution est générée ou Debugging_guid lorsque le débogueur est actif. Plusieurs contextes d’interface utilisateur peuvent être actifs en même temps.

Définir des GUID de contexte personnalisés

Si un GUID de contexte de commande approprié n’est pas déjà défini, vous pouvez en définir un dans votre VSPackage, puis le programmer pour qu’il soit actif ou inactif si nécessaire pour contrôler la visibilité de vos commandes :

  1. Inscrivez des GUID de contexte en appelant la GetCmdUIContextCookie méthode.

  2. Obtenez l’état d’un GUID de contexte en appelant la IsCmdUIContextActive méthode.

  3. Activez et désactivez les GUID de contexte en appelant la SetCmdUIContext méthode.

Attention

Assurez-vous que votre VSPackage n’affecte pas les GUID de contexte existants, car d’autres VSPackages peuvent dépendre d’eux.