Dostępność poleceń
Kontekst programu Visual Studio określa, które polecenia są dostępne. Kontekst może ulec zmianie w zależności od bieżącego projektu, bieżącego edytora, załadowanych pakietów VSPackage i innych aspektów zintegrowanego środowiska projektowego (IDE).
Konteksty poleceń
Najpopularniejsze są następujące konteksty poleceń:
IDE: polecenia udostępniane przez środowisko IDE są zawsze dostępne.
VSPackage: pakiety VSPackage mogą definiować, kiedy polecenia mają być wyświetlane lub ukryte.
Projekt: polecenia projektu są wyświetlane tylko dla aktualnie wybranego projektu.
Edytor: tylko jeden edytor może być aktywny naraz. Dostępne są polecenia z aktywnego edytora. Edytor ściśle współpracuje z usługą językową. Usługa językowa musi przetwarzać polecenia w kontekście skojarzonego edytora.
Typ pliku: edytor może załadować więcej niż jeden typ pliku. Dostępne polecenia mogą ulec zmianie w zależności od typu pliku.
Aktywne okno: ostatnie aktywne okno dokumentu ustawia kontekst interfejsu użytkownika (UI) dla powiązań kluczy. Jednak okno narzędzi, które zawiera tabelę powiązań kluczy przypominającą wewnętrzną przeglądarkę internetową, może również ustawić kontekst interfejsu użytkownika. W przypadku okien dokumentów z wieloma kartami, takich jak edytor HTML, każda karta ma inny identyfikator GUID kontekstu polecenia. Po zarejestrowaniu okna narzędzi jest on zawsze dostępny w menu Widok .
Kontekst interfejsu użytkownika: konteksty interfejsu użytkownika są identyfikowane przez wartości VSConstants.UICONTEXT klasy, SolutionBuilding_guid na przykład podczas kompilowania rozwiązania lub Debugging_guid gdy debuger jest aktywny. Wiele kontekstów interfejsu użytkownika może być aktywnych w tym samym czasie.
Definiowanie niestandardowych identyfikatorów GUID kontekstu
Jeśli nie zdefiniowano jeszcze odpowiedniego identyfikatora GUID kontekstu polecenia, możesz zdefiniować go w pakietach VSPackage, a następnie zaprogramować go tak, aby był aktywny lub nieaktywny zgodnie z wymaganiami w celu kontrolowania widoczności poleceń:
Zarejestruj identyfikatory GUID kontekstu, wywołując metodę GetCmdUIContextCookie .
Pobierz stan identyfikatora GUID kontekstu, wywołując metodę IsCmdUIContextActive .
Włącz i wyłącz identyfikatory GUID kontekstu, wywołując metodę SetCmdUIContext .
Uwaga
Upewnij się, że pakiet VSPackage nie ma wpływu na żadne istniejące identyfikatory GUID kontekstu, ponieważ inne pakiety VSPackage mogą od nich zależeć.