Disponibilità dei comandi
Il contesto di Visual Studio determina quali comandi sono disponibili. Il contesto può cambiare a seconda del progetto corrente, dell'editor corrente, dei VSPackage caricati e di altri aspetti dell'ambiente di sviluppo integrato (IDE).
Contesti di comando
I contesti di comando seguenti sono i più comuni:
IDE: i comandi forniti dall'IDE sono sempre disponibili.
VSPackage: i pacchetti VSPackage possono definire quando i comandi devono essere visualizzati o nascosti.
Progetto: i comandi di progetto vengono visualizzati solo per il progetto attualmente selezionato.
Editor: un solo editor può essere attivo alla volta. I comandi dell'editor attivo sono disponibili. Un editor funziona a stretto contatto con un servizio di linguaggio. Il servizio di linguaggio deve elaborare i comandi nel contesto dell'editor associato.
Tipo di file: un editor può caricare più di un tipo di file. I comandi disponibili possono cambiare a seconda del tipo di file.
Finestra attiva: l'ultima finestra del documento attiva imposta il contesto dell'interfaccia utente per le associazioni di tasti. Tuttavia, una finestra degli strumenti con una tabella di associazione chiave simile al Web browser interno potrebbe anche impostare il contesto dell'interfaccia utente. Per le finestre dei documenti a più schede, ad esempio l'editor HTML, ogni scheda ha un GUID del contesto di comando diverso. Dopo aver registrato una finestra degli strumenti, è sempre disponibile nel menu Visualizza .
Contesto dell'interfaccia utente: i contesti dell'interfaccia utente vengono identificati dai valori della VSConstants.UICONTEXT classe, ad esempio quando SolutionBuilding_guid la soluzione viene compilata o Debugging_guid quando il debugger è attivo. Più contesti dell'interfaccia utente possono essere attivi contemporaneamente.
Definire GUID di contesto personalizzati
Se un GUID del contesto di comando appropriato non è già definito, è possibile definirne uno nel VSPackage e quindi programmarlo in modo che sia attivo o inattivo in base alle esigenze per controllare la visibilità dei comandi:
Registrare i GUID di contesto chiamando il GetCmdUIContextCookie metodo .
Ottenere lo stato di un GUID di contesto chiamando il IsCmdUIContextActive metodo .
Attivare e disattivare i GUID di contesto chiamando il SetCmdUIContext metodo .
Attenzione
Assicurarsi che il VSPackage non influisca sui GUID di contesto esistenti perché altri PACCHETTI VSPackage possono dipendere da essi.