Condividi tramite


Selezione e valuta nell'IDE

L'ambiente di sviluppo integrato (IDE) di Visual Studio gestisce informazioni sugli oggetti attualmente selezionati dagli utenti usando il contesto di selezione. Con il contesto di selezione, i pacchetti VSPackage possono partecipare al rilevamento delle valute in due modi:

  • Propagando le informazioni sulla valuta relative ai pacchetti VSPackage all'IDE.

  • Monitorando le selezioni attualmente attive degli utenti all'interno dell'IDE.

Contesto di selezione

L'IDE di Visual Studio tiene traccia a livello globale della valuta dell'IDE nel proprio oggetto contesto di selezione globale. Nella tabella seguente vengono illustrati gli elementi che costituiscono il contesto di selezione.

Elemento Descrizione
Gerarchia corrente In genere il progetto corrente; una gerarchia corrente NULL indica che la soluzione nel suo complesso è corrente.
ItemID corrente Elemento selezionato all'interno della gerarchia corrente; quando sono presenti più selezioni in una finestra del progetto, possono essere presenti più elementi correnti.
Corrente SelectionContainer Contiene uno o più oggetti per i quali il Finestra Proprietà deve visualizzare le proprietà.

Inoltre, l'ambiente gestisce due elenchi globali:

  • Elenco di identificatori di comando dell'interfaccia utente attivi

  • Elenco dei tipi di elemento attualmente attivi.

Tipi di finestra e selezione

L'IDE di Visual Studio organizza le finestre in due tipi generali:

  • Finestre di tipo gerarchia

  • Finestre cornice, ad esempio finestre degli strumenti e dei documenti

    L'IDE tiene traccia della valuta in modo diverso per ognuno di questi tipi di finestra.

    La finestra di tipo progetto più comune è esplora soluzioni, che controlla l'IDE. Una finestra di tipo progetto tiene traccia della gerarchia globale e dell'ItemID del contesto di selezione globale e la finestra si basa sulla selezione dell'utente per determinare la gerarchia corrente. Per le finestre di tipo progetto, l'ambiente fornisce il servizio SVsShellMonitorSelectionglobale , tramite il quale i pacchetti VSPackage possono monitorare i valori correnti per gli elementi aperti. L'esplorazione delle proprietà nell'ambiente è basata su questo servizio globale.

    Le finestre cornice, d'altra parte, usano docObject all'interno della finestra cornice per eseguire il push del valore SelectionContext (il trio hierarchy/ItemID/SelectionContainer). . Le finestre cornice usano il servizio SVsShellMonitorSelection a questo scopo. DocObject può eseguire il push solo dei valori per il contenitore di selezione, lasciando invariati i valori locali per la gerarchia e ItemID, come in genere per i documenti figlio MDI.

Eventi e valuta

Possono verificarsi due tipi di eventi che influiscono sulla nozione di valuta dell'ambiente:

  • Eventi propagati al livello globale e modificano il contesto di selezione dei fotogrammi della finestra. Alcuni esempi di questo tipo di evento includono l'apertura di una finestra figlio MDI, una finestra degli strumenti globale o una finestra degli strumenti di tipo progetto da aprire.

  • Eventi che modificano gli elementi tracciati all'interno del contesto di selezione cornice finestra. Alcuni esempi includono la modifica della selezione all'interno di un DocObject o la modifica della selezione in una finestra di tipo progetto.