Partager via


Sélection et devise dans l’IDE

L’environnement de développement intégré (IDE) visual Studio conserve des informations sur les objets actuellement sélectionnés par les utilisateurs à l’aide du contexte de sélection. Avec le contexte de sélection, les VSPackages peuvent participer au suivi monétaire de deux façons :

  • En propageant des informations monétaires sur les VSPackages vers l’IDE.

  • En surveillant les sélections actives des utilisateurs dans l’IDE.

Contexte de sélection

L’IDE Visual Studio effectue globalement le suivi de la devise IDE dans son propre objet de contexte de sélection global. Le tableau suivant montre les éléments qui composent le contexte de sélection.

Élément Description
Hiérarchie actuelle En règle générale, le projet actuel ; une hiérarchie actuelle NULL indique que la solution dans son ensemble est actuelle.
ItemID actuel Élément sélectionné dans la hiérarchie actuelle ; lorsqu’il existe plusieurs sélections dans une fenêtre de projet, il peut y avoir plusieurs éléments actuels.
Actuelle SelectionContainer Contient l’un ou plusieurs objets pour lesquels le Fenêtre Propriétés doit afficher les propriétés.

En outre, l’environnement gère deux listes globales :

  • Liste des identificateurs de commande d’interface utilisateur actifs

  • Liste des types d’éléments actifs.

Types de fenêtres et sélection

L’IDE Visual Studio organise les fenêtres en deux types généraux :

  • Fenêtres de type hiérarchie

  • Fenêtres frame, telles que les fenêtres d’outil et de document

    L’IDE effectue le suivi de la devise différemment pour chacun de ces types de fenêtres.

    La fenêtre de type projet la plus courante est l’Explorateur de solutions, qui contrôle l’IDE. Une fenêtre de type projet suit la hiérarchie globale et ItemID du contexte de sélection globale, et la fenêtre s’appuie sur la sélection de l’utilisateur pour déterminer la hiérarchie actuelle. Pour les fenêtres de type projet, l’environnement fournit le service SVsShellMonitorSelectionglobal, via lequel les VSPackages peuvent surveiller les valeurs actuelles des éléments ouverts. La navigation des propriétés dans l’environnement est pilotée par ce service global.

    Les fenêtres d’images, d’autre part, utilisent le DocObject dans la fenêtre d’images pour pousser la valeur SelectionContext (trio hierarchy/ItemID/SelectionContainer). . Les fenêtres frame utilisent le service SVsShellMonitorSelection à cet effet. DocObject ne peut envoyer (push) que des valeurs pour le conteneur de sélection, en laissant les valeurs locales pour la hiérarchie et ItemID inchangés, comme c’est le cas pour les documents enfants MDI.

Événements et devises

Deux types d’événements peuvent se produire qui affectent la notion de devise de l’environnement :

  • Événements propagés au niveau global et modification du contexte de sélection du cadre de fenêtre. Par exemple, ce type d’événement inclut une fenêtre enfant MDI ouverte, une fenêtre d’outil globale ouverte ou une fenêtre d’outil de type projet ouverte.

  • Événements qui modifient les éléments suivis dans le contexte de sélection du cadre de fenêtre. Les exemples incluent la modification de la sélection dans un DocObject ou la modification de la sélection dans une fenêtre de type projet.