Udostępnij za pośrednictwem


Wybór i aktualność w środowisku IDE

Zintegrowane środowisko projektowe (IDE) programu Visual Studio przechowuje informacje o aktualnie wybranych obiektach użytkowników przy użyciu kontekstu wyboru. W kontekście wyboru pakiety VSPackage mogą wziąć udział w śledzeniu waluty na dwa sposoby:

  • Propagując informacje o walutach pakietów VSPackage do środowiska IDE.

  • Monitorując aktualnie aktywne wybory użytkowników w środowisku IDE.

Kontekst zaznaczenia

Środowisko IDE programu Visual Studio globalnie śledzi walutę środowiska IDE we własnym obiekcie kontekstu wyboru globalnego. W poniższej tabeli przedstawiono elementy tworzące kontekst zaznaczenia.

Element opis
Bieżąca hierarchia Zazwyczaj bieżący projekt; bieżąca hierarchia o wartości NULL wskazuje, że rozwiązanie jako całość jest aktualne.
Bieżący identyfikator elementu Wybrany element w bieżącej hierarchii; jeśli w oknie projektu istnieje wiele opcji, może istnieć wiele bieżących elementów.
Bieżącego SelectionContainer Przechowuje co najmniej jeden obiekt, dla którego okno Właściwości powinny wyświetlać właściwości.

Ponadto środowisko obsługuje dwie listy globalne:

  • Lista aktywnych identyfikatorów poleceń interfejsu użytkownika

  • Lista aktualnie aktywnych typów elementów.

Typy okien i wybór

Środowisko IDE programu Visual Studio organizuje okna w dwa typy ogólne:

  • Okna typu hierarchii

  • Okna ramowe, takie jak okna narzędzi i dokumentów

    Środowisko IDE śledzi walutę inaczej dla każdego z tych typów okien.

    Najbardziej typowym oknem typu projektu jest Eksplorator rozwiązań, który steruje środowiskiem IDE. Okno typu projektu śledzi hierarchię globalną i identyfikator itemID kontekstu wyboru globalnego, a okno opiera się na wyborze użytkownika w celu określenia bieżącej hierarchii. W przypadku okien typu projektu środowisko udostępnia usługę SVsShellMonitorSelectionglobalną , za pomocą której pakiety VSPackage mogą monitorować bieżące wartości otwartych elementów. Przeglądanie właściwości w środowisku jest sterowane przez tę usługę globalną.

    Okna ramowe, z drugiej strony, użyj obiektu DocObject w oknie ramki, aby wypchnąć wartość SelectionContext (hierarchia/ItemID/SelectionContainer trio). . Okna ramowe korzystają z usługi SVsShellMonitorSelection w tym celu. Obiekt DocObject może wypychać tylko wartości dla kontenera wyboru, pozostawiając wartości lokalne dla hierarchii i identyfikatora ItemID bez zmian, tak jak zwykle w przypadku dokumentów podrzędnych MDI.

Zdarzenia i waluta

Mogą wystąpić dwa typy zdarzeń, które mają wpływ na pojęcie waluty środowiska:

  • Zdarzenia, które są propagowane do poziomu globalnego i zmieniają kontekst wyboru ramek okna. Przykłady tego rodzaju zdarzenia obejmują otwarte okno podrzędne MDI, otwarte okno narzędzia globalnego lub otwarte okno narzędzia typu projektu.

  • Zdarzenia, które zmieniają elementy śledzone w kontekście zaznaczenia okna. Przykłady obejmują zmianę zaznaczenia w obiekcie DocObject lub zmianę zaznaczenia w oknie typu projektu.