Visual Studio Shell

La shell di Visual Studio è l'agente principale dell'integrazione in Visual Studio. La shell fornisce le funzionalità necessarie per consentire ai pacchetti VSPackage di condividere servizi comuni. Poiché l'obiettivo dell'architettura di Visual Studio è fornire funzionalità primarie nei PACCHETTI VSPackage, la shell è un framework per fornire funzionalità di base e supportare la comunicazione incrociata tra i pacchetti VSPackage del componente.

Responsabilità della shell

La shell ha le responsabilità principali seguenti:

  • Elementi di base dell'interfaccia utente (tramite interfacce COM). Questi includono menu e barre degli strumenti predefiniti, cornici delle finestre di documento o finestre figlio MDI (Multi-Document Interface) e frame delle finestre degli strumenti e supporto per l'ancoraggio.

  • Gestione di un elenco in esecuzione di tutti i documenti attualmente aperti in una tabella di documenti in esecuzione (RDT) per coordinare la persistenza dei documenti e garantire che un documento non possa essere aperto in più modi o incompatibile.

  • Supporto dell'interfaccia di gestione dei comandi e del routing dei comandi, IOleCommandTarget.

  • Caricamento di pacchetti VSPackage in momenti appropriati. Il caricamento ritardato di un VSPackage è necessario per migliorare le prestazioni della shell.

  • Gestione di determinati servizi condivisi, ad esempio SVsShell, che fornisce funzionalità della shell di base e SVsUIShell, che fornisce funzionalità di base per la finestra.

  • Gestione dei file della soluzione (con estensione sln). Le soluzioni contengono gruppi di progetti correlati, simili ai file dell'area di lavoro (con estensione dsw) in Visual C++ 6.0.

  • Rilevamento della selezione, del contesto e della valuta a livello di shell. La shell tiene traccia dei tipi di elementi seguenti:

    • Progetto corrente

    • Elemento del progetto corrente o ItemID corrente IVsHierarchy

    • Selezione corrente per la finestra Proprietà o SelectionContainer

    • ID di contesto dell'interfaccia utente o CmdUIGuids che controllano la visibilità di comandi, menu e barre degli strumenti

    • Elementi attualmente attivi, ad esempio la finestra attiva, il documento e il gestore di annullamento

    • Attributi del contesto utente che determinano la Guida dinamica

    La shell media anche la comunicazione tra i pacchetti VSPackage installati e i servizi correnti. Supporta le funzionalità di base della shell e le rende disponibili per tutti i pacchetti VSPackage integrati in Visual Studio. Queste funzionalità di base includono gli elementi seguenti:

  • Informazioni sulla finestra di dialogo e sulla schermata iniziale

  • Finestra di dialogo Aggiungi elemento nuovo e aggiungi elemento esistente

  • Finestra Visualizzazione classi e Visualizzatore oggetti

  • Finestra di dialogo Riferimenti

  • Finestra Struttura documento

  • Finestra Guida dinamica

  • Trova e sostituisci

  • Aprire le finestre di dialogo Progetto e Apri file dal menu Nuovo

  • Finestra di dialogo Opzioni nel menu Strumenti

  • Finestra Proprietà

  • Esplora soluzioni

  • Finestra Elenco attività

  • Casella degli strumenti