Visual Studio Shell

L’interpréteur de commandes Visual Studio est l’agent principal de l’intégration dans Visual Studio. L’interpréteur de commandes fournit des fonctionnalités nécessaires pour permettre aux VSPackages de partager des services communs. Étant donné que l’objectif architectural de Visual Studio est de fournir des fonctionnalités principales dans les VSPackages, l’interpréteur de commandes est une infrastructure qui fournit des fonctionnalités de base et prend en charge la communication croisée entre ses composants VSPackages.

Responsabilités de l’interpréteur de commandes

L’interpréteur de commandes a les responsabilités clés suivantes :

  • Prise en charge (via des interfaces COM) des éléments de base de l’interface utilisateur (UI). Il s’agit notamment des menus et barres d’outils par défaut, des cadres de fenêtre de document ou des fenêtres enfants MDI (Multi-Document Interface) et des cadres de fenêtre outil, ainsi que la prise en charge de l’ancrage.

  • Maintien d’une liste en cours d’exécution de tous les documents actuellement ouverts dans une table de documents en cours d’exécution (RDT) afin de coordonner la persistance des documents et de garantir qu’un document ne peut pas être ouvert de plusieurs manières, ou de manière incompatible.

  • Prise en charge de l’interface de routage des commandes et de gestion des commandes. IOleCommandTarget

  • Chargement de VSPackages à des moments appropriés. Le chargement différé d’un VSPackage est nécessaire pour améliorer les performances de l’interpréteur de commandes.

  • Gestion de certains services partagés, tels que SVsShell, qui fournit des fonctionnalités d’interpréteur de commandes de base et SVsUIShell, qui fournit des fonctionnalités de fenêtrage de base.

  • Gestion des fichiers de solution (.sln). Les solutions contiennent des groupes de projets connexes, similaires aux fichiers d’espace de travail (.dsw) dans Visual C++ 6.0.

  • Suivi de la sélection, du contexte et de la devise à l’échelle de l’interpréteur de commandes. L’interpréteur de commandes suit les types d’éléments suivants :

    • Le projet en cours

    • Élément de projet actuel ou ItemID actif IVsHierarchy

    • Sélection actuelle de la fenêtre Propriétés ou SelectionContainer

    • ID de contexte de l’interface utilisateur ou CmdUIGuids qui contrôlent la visibilité des commandes, des menus et des barres d’outils

    • Éléments actifs tels que la fenêtre active, le document et le gestionnaire d’annulation

    • Attributs de contexte utilisateur qui pilotent l’aide dynamique

    L’interpréteur de commandes médiatise également la communication entre les vsPackages installés et les services actuels. Il prend en charge les principales fonctionnalités de l’interpréteur de commandes et les met à la disposition de tous les VSPackages intégrés dans Visual Studio. Ces principales fonctionnalités incluent les éléments suivants :

  • À propos de la boîte de dialogue et de l’écran de démarrage

  • Boîtes de dialogue Ajouter un nouvel élément et ajouter un élément existant

  • Fenêtre Affichage de classes et Explorateur d’objets

  • Boîte de dialogue Références

  • Fenêtre Plan du document

  • Fenêtre Aide dynamique

  • Rechercher et remplacer

  • Ouvrir les boîtes de dialogue Projet et Ouvrir un fichier dans le menu Nouveau

  • Boîte de dialogue Options dans le menu Outils

  • Fenêtre Propriétés

  • Explorateur de solutions

  • Fenêtre Liste des tâches

  • Boîte à outils