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.