Condividi tramite


In Visual Studio SDK

Esistono diversi modi per estendere Visual Studio. Il comune tre un è: automazione, estensioni di un VSPackage ed estensioni managed extensibility Framework (MEF).

L'automazione viene utilizzata principalmente per automatizzare le attività ripetitive, quali con macro e componenti aggiuntivi, o fornire una struttura per l'input dell'utente, come con le procedure guidate.

Creare un pacchetto VS è un metodo efficace estendere Visual Studio. Visual Studio include molti componenti che vengono VSPackages, ad esempio il debugger e le barre degli strumenti predefinite. Un'estensione di un VSPackage possibile accedere ed estendere molti dei componenti di Visual Studio, come shell e il sistema del progetto.

Managed extensibility Framework (MEF) è un meccanismo estensibilità utilizzato per la prima volta nell'editor di Visual Studio 2010. Il framework MEF consente di personalizzare ed estendere l'editor senza dover creare un VSPackage.

Il modello di estensibilità di Visual Studio

Il modello di estensibilità di Visual Studio è composto dalle raccolte diversi che consentono delle estensioni di accedere ed estendono i componenti di Visual Studio.

Il primo livello del modello viene trovato nell'API di Visual Studio, che è lo stesso set di interfacce che gli sviluppatori di Microsoft utilizzano per compilare Visual Studio. È possibile utilizzare in una raccolta basata su modelli denominata la raccolta di Visual Studio (VSL) per scrivere estensioni in codice non gestito.

Se si scrive un'estensione nel codice gestito, è possibile utilizzare direttamente gli assembly di interoperabilità Visual Studio, oppure è possibile utilizzare il pacchetto gestito Framework (MPF). Il pacchetto gestito Framework fornisce classi che eseguono il wrapping molte delle interfacce nell'API di Visual Studio.

Per estendere l'editor di Visual Studio 2010, è possibile utilizzare gli assembly dell'editor sia assembly MEF che definiscono i contratti che l'estensione viene riprodotta vocalmente all'editor di Visual Studio.

Per ulteriori informazioni, vedere:

servizi di Visual Studio

Un servizio fornisce un set specifico di interfacce per i componenti utilizza. Visual Studio fornisce un set di servizi che possono essere utilizzati da tutti i componenti, incluse le estensioni. Ad esempio, i servizi di Visual Studio consentono alle finestre degli strumenti di leggere o nascosto in modo dinamico, consentire l'accesso a, nella barra di stato, o eventi dell'interfaccia utente. L'editor di Visual Studio 2010 offre servizi che possono essere inclusi nelle estensioni dell'editor.

Per ulteriori informazioni, vedere:

Le estensioni di Visual Studio possono utilizzare questi per l'archiviazione locale di piccole quantità di dati.

I componenti seguenti sono quelle utilizzate più frequentemente dalle estensioni di Visual Studio:

  • Controlli della shell

  • Menu e barre degli strumenti

  • Finestre degli strumenti

  • Finestre del documento

  • Editor

  • servizi di linguaggio

  • Progetti

  • Modelli

Comandi

I controlli sono funzioni che eseguire attività, quali stampa del documento, aggiornando una visualizzazione, o creare un nuovo file.

Quando si estende Visual Studio, è possibile creare controlli e registrarli con la shell di Visual Studio. È possibile specificare come questi controlli verranno visualizzati nell'IDE, ad esempio, in un menu o una barra degli strumenti. In genere un comando personalizzato viene visualizzato nel menu di strumenti e un comando per visualizzare la finestra degli strumenti apparirebbe nel sottomenu di altre finestre del menu di visualizzazione .

Quando si crea un comando, è inoltre necessario creare un gestore eventi. Il gestore eventi determina quando il comando è visibile o attivato, consente di modificare il testo e garantisce che il comando rispondere in modo appropriato quando viene attivato. Nella maggior parte delle istanze, l'ide mantiene i controlli tramite l'interfaccia di IOleCommandTarget . I controlli in Visual Studio sono avviare gestito dal contesto più interno del comando, in base alla selezione locale e a procedere al contesto più esterno, in base alla selezione globale. I controlli aggiunti al menu principale sono immediatamente disponibili per lo script.

Per ulteriori informazioni, vedere Come Vspackage aggiunge gli elementi dell'interfaccia utente dell'IDE.

I menu e le barre degli strumenti forniscono una modalità degli utenti ai controlli invoke. I menu sono righe o colonne dei controlli che in genere visualizzato come singoli elementi del testo all'inizio di una finestra degli strumenti. I sottomenu sono menu secondari che vengono visualizzate quando un utente fa clic sui controlli che includono una piccola freccia. I menu di scelta rapida vengono visualizzati quando un utente fa clic con il pulsante destro del mouse su determinati elementi di interfaccia utente. Alcuni nomi di menu comuni sono file, Modifica, visualizzazionee finestra. Per ulteriori informazioni, vedere Attività comuni con i controlli, i menu e le barre degli strumenti.

Le barre degli strumenti sono righe o colonne di pulsanti e altri controlli, quali caselle combinate, caselle di riepilogo e caselle di testo. I pulsanti della barra degli strumenti in genere hanno immagini icona, ad esempio un'icona della cartella per un comando di file aperto o una stampante per un comando di stampa . Tutti gli elementi della barra degli strumenti sono associati a comandi. Quando si fa clic su un pulsante della barra degli strumenti, il comando associato viene eseguito. Nel caso di un controllo a discesa, ogni elemento elenco a discesa viene associato a un comando diverso. Alcuni controlli della barra degli strumenti, ad esempio una barra di divisione, sono ibridi. Un lato del controllo è un pulsante della barra degli strumenti e l'altro lato viene visualizzata una freccia giù che visualizza diversi controlli quando viene fatto clic.

Per ulteriori informazioni, vedere

Finestre degli strumenti

Le finestre degli strumenti vengono utilizzate nell'IDE per visualizzare le informazioni. Casella degli strumenti, Esplora soluzioni, finestra di Proprietà e Web browser sono esempi delle finestre degli strumenti.

Le finestre degli strumenti in genere offrono i vari controlli con cui l'utente può interagire. Ad esempio, nella finestra di Proprietà possibile impostare le proprietà dell'utente degli oggetti con un particolare scopo. La finestra di Proprietà è specializzata in questo senso, ma anche in generale poiché può essere utilizzata in molte situazioni diverse. Analogamente, la finestra di output è specializzata in quanto fornisce l'output basato su testo, ma generale poiché molti sottosistemi in Visual Studio è possibile utilizzarlo per fornire l'output all'utente di Visual Studio.

Si consideri la seguente immagine di Visual Studio, che contiene diverse finestre degli strumenti.

Schermata

Alcune delle finestre degli strumenti sono ancorate insieme a un singolo riquadro che visualizza la finestra degli strumenti di Esplora soluzioni e nasconde le altre finestre degli strumenti ma le rendono disponibili facendo clic sulle schede. L'immagine mostra altre due finestre degli strumenti, Elenco errori e la finestra di output, ancorati insieme a un singolo riquadro.

È inoltre indicato il riquadro principale del documento, che mostra diverse finestre dell'editor. Sebbene le finestre degli strumenti in genere ha solo un'istanza (ad esempio, è possibile aprire un solo Esplora soluzioni), finestre dell'possono includere più istanze, ciascuno dei quali viene utilizzata per modificare un documento separato ma che sono ancorati nello stesso riquadro. L'immagine viene illustrato un riquadro di documento che presenta due finestre dell'editor, una finestra di progettazione dei form e una finestra del browser che mostra la pagina iniziale. Tutte le finestre nel riquadro di documento sono disponibili facendo clic sulle schede, ma la finestra editor che contiene il file di EditorPane.cs è visibile e attiva.

Quando si estende Visual Studio, è possibile creare finestre degli strumenti che consentono agli utenti di Visual Studio interagire con l'estensione. È inoltre possibile creare diventi proprietaria degli editor che consentono agli utenti di Visual Studio modificare i documenti. Poiché le finestre degli strumenti ed editor vengono integrati in Visual Studio, non è necessario programmarli per ancorare o visualizzare in una scheda correttamente. Quando correttamente vengono registrate in Visual Studio, viene automaticamente saranno disponibili funzionalità tipiche delle finestre degli strumenti e le finestre di documento in Visual Studio.

Per ulteriori informazioni, vedere

Finestre del documento

Una finestra del documento è una finestra figlio incorniciata di una finestra MDI (MDI). Le finestre di documento in genere utilizzate per ospitare gli editor di testo, i l'editor del form (anche noto come le finestre di progettazione, oppure i controlli di modifica, ma possono anche contenere altri tipi funzionali. La finestra di dialogo di nuovo file include esempi delle finestre di documento fornite da Visual Studio.

La maggior parte degli editor sono specifici di un linguaggio di programmazione o a un tipo di file, quali pagine HTML, pagine con frame, i file C++, o file di intestazione. Selezionando un modello nella finestra di dialogo di nuovo file , un utente crea dinamicamente una finestra del documento per l'editor per il tipo di file associato al modello. Una finestra del documento viene creata quando un utente apre un file esistente.

Le finestre di documento sono limitate all'area client MDI. Ogni finestra di documento presentano una scheda nella parte superiore e l'ordine di tabulazione è collegato alle altre finestre che possono essere aperte nell'area MDI. Fare clic con il pulsante destro del mouse sulla scheda della finestra di un documento visualizzato un menu di scelta rapida che include le opzioni suddivide l'area MDI in orizzontale o più gruppi verticali della scheda. Suddividere l'area MDI attiva più file da visualizzare contemporaneamente.

Per ulteriori informazioni, vedere

Editor

L'editor di Visual Studio 2010 è un nuovo tipo di componente di Visual Studio. Mentre il nuovo editor è un package VS, consente allo stato personalizzato e di utilizzarlo per il proprio tipo di contenuto mediante managed extensibility Framework (MEF). In molti casi non è necessario creare un package VS per estendere l'editor, sebbene se si desidera includere le funzionalità dalla shell (ad esempio, un comando di menu o un tasto di scelta rapida), è possibile combinare un'estensione MEF con un VSPackage.

È inoltre possibile creare un editor personalizzato, ad esempio se si desidera leggere e scrivere in un database, o se si desidera utilizzare una finestra di progettazione. È anche possibile utilizzare un editor esterno quale Blocco Note o Microsoft WordPad.

Per ulteriori informazioni, vedere editor.

servizi di linguaggio

Se si desidera l'editor di Visual Studio per supportare nuove parole chiave di programmazione o anche un nuovo linguaggio di programmazione, si crea un servizio di linguaggio. Ogni servizio di linguaggio possibile implementare determinate funzionalità dell'editor completamente, in parte, o per alcuna operazione. A seconda di come viene configurato, il servizio di linguaggio possibile fornire evidenziazione della sintassi, la corrispondenza di parentesi graffe, il supporto IntelliSense e altre funzionalità nell'editor.

Al centro di un servizio di linguaggio sono un parser e uno analisi. Uno scanner (o lexer) suddivide un file di origine negli elementi che sono noti come token e un parser stabilisce le relazioni tra tali token. Quando si crea un servizio di linguaggio, è necessario implementare il parser e lo scanner in modo che possa comprendere Visual Studio i token e la sintassi del linguaggio.

È possibile creare servizi di linguaggio gestiti e non gestiti.

Per ulteriori informazioni, vedere

Progetti

In Visual Studio, i progetti sono contenitori che gli sviluppatori per organizzare e compileranno il codice sorgente e altre risorse. I progetti consentono di organizzare, sviluppare, eseguire il debug e distribuire il codice sorgente, i riferimenti a servizi Web e ai database e altre risorse. Vspackage possibile estendere il sistema di progetto di Visual Studio fornendo i tipi di progetto, sottotipi di progetto e gli strumenti personalizzati.

I progetti possono inoltre essere riuniti in una soluzione, che è un raggruppamento di uno o più progetti che interagiscono per creare un'applicazione. Il progetto e le informazioni sullo stato relative alla soluzione viene archiviato in due file di soluzione, nel file di soluzione basato su testo (sln) e il file binario delle opzioni utente della soluzione (.suo). Questi file sono simili ai file del gruppo o file dsw utilizzati nelle versioni precedenti di Visual Basice dell'area di lavoro (.dsw) e file di opzioni dell'utente (.opt) utilizzati nelle versioni precedenti di Visual C++.

Per ulteriori informazioni, vedere

progetto e modelli di elemento

Visual Studio include modelli di progetto e modelli di elementi di progetto predefiniti. È anche possibile rendere per contenere i modelli o acquisire i modelli dalla community e li integrate in Visual Studio. MSDN Code Gallery È il posto per passare per i modelli e le estensioni.

I modelli sono inclusi i file di base e la struttura del progetto che sono necessari per compilare un tipo specifico dell'applicazione, di controllo, di raccolta, o di classe. Quando si desidera compilare il software simile a uno dei modelli, creare un progetto basato sul modello e quindi modificare i file nel progetto.

Nota

Questo modello consente di creare una nuova pagina master in risposta al comando Aggiungi nuova pagina master.Per informazioni su come creare i modelli di progetto di Visual C++ , vedere Progettazione di una procedura guidata.

Per ulteriori informazioni, vedere Aggiunta dei modelli di progetto ed elementi di progetto.

La shell e applicazioni integrati della Shell Isolated

È possibile integrare l'estensione in Visual Studio in modalità integrata oppure in modalità isolata.

  • Utilizzo della shell integrata consente di fornire gli strumenti personalizzati che i clienti possono utilizzare insieme ad altri componenti di Visual Studio. La shell integrato (IDE) è ottimizzato del linguaggio e a strumenti di software host.

  • Utilizzo della shell isolato consente di creare gli strumenti personalizzati che funzionano nella shell di Visual Studio con solo i componenti di Visual Studio che si desidera includere. La shell isolato è ottimizzato per gli strumenti specializzati che hanno accesso completo ai servizi di Visual Studio ma include anche un aspetto e cliente di personalizzazione personalizzati.

Per ulteriori informazioni, vedere