Introduzione alle estensioni del servizio di linguaggio e dell'editor

È possibile usare le estensioni dell'editor per aggiungere funzionalità del servizio di linguaggio, ad esempio struttura, corrispondenza parentesi graffe, IntelliSense e lampadine al proprio linguaggio di programmazione o a qualsiasi tipo di contenuto. È anche possibile personalizzare l'aspetto e il comportamento dell'editor di Visual Studio, ad esempio la colorazione del testo, i margini, gli oggetti decorativi e altri elementi visivi. È anche possibile definire il proprio tipo di contenuto e specificare l'aspetto e il comportamento delle visualizzazioni di testo in cui viene visualizzato il contenuto.

Per iniziare a scrivere estensioni dell'editor, usare i modelli di progetto dell'editor installati come parte di Visual Studio SDK. Visual Studio SDK è un set scaricabile di strumenti che semplificano lo sviluppo di estensioni di Visual Studio, tramite VSPackage o tramite Managed Extensibility Framework (MEF).

Nota

Per altre informazioni su Visual Studio SDK, vedere Visual Studio SDK.

È consigliabile apprendere i concetti e le tecnologie seguenti prima di scrivere estensioni dell'editor personalizzate.

Estensioni di Windows Presentation Foundation (WPF) ed editor

L'interfaccia utente dell'editor di Visual Studio viene implementata tramite Windows Presentation Foundation (WPF). WPF offre un'esperienza visiva avanzata e un modello di programmazione coerente che separa gli aspetti visivi del codice dalla logica di business. È possibile usare molti elementi e funzionalità WPF quando si creano estensioni dell'editor. Per altre informazioni, vedere Windows Presentation Foundation.

Estensioni di Managed Extensibility Framework (MEF) ed editor

L'editor di Visual Studio usa Managed Extensibility Framework (MEF) per gestire i componenti e le estensioni. MEF consente anche agli sviluppatori di creare più facilmente estensioni per un'applicazione host come Visual Studio. In questo framework si definisce un'estensione in base a un contratto MEF ed esportarla come parte del componente MEF. L'applicazione host gestisce le parti del componente individuandole, registrandole e assicurandosi che vengano applicate al contesto corretto.

Nota

Per altre informazioni su MEF nell'editor, vedere Managed Extensibility Framework nell'editor.

Punti di estensione ed estensioni dell'editor di Visual Studio

I punti di estensione dell'editor sono parti del componente MEF che è possibile personalizzare ed estendere. In alcuni casi si estende il punto di estensione implementando un'interfaccia ed esportandola insieme ai metadati corretti. In altri casi è sufficiente dichiarare un'estensione ed esportarla come tipo specifico.

Di seguito sono riportati alcuni dei tipi di estensioni dell'editor di base:

Distribuzione delle estensioni dell'editor

In Visual Studio si distribuiscono le estensioni dell'editor aggiungendo un file di metadati denominato source.extension.vsixmanifest alla soluzione, creando la soluzione e quindi aggiungendo una copia dei file binari e il manifesto in una cartella nota a Visual Studio. Il file manifesto definisce i fatti di base sull'estensione , ad esempio nome, autore, versione e tipo di contenuto. Per altre informazioni sul file manifesto VSIX e su come distribuire le estensioni, vedere Spedire le estensioni di Visual Studio.

Quando si installa un'estensione in un computer, includere i file binari e il manifesto in una sottocartella della cartella nota a Visual Studio.

Avviso

Non è necessario preoccuparsi dei dettagli dei manifesti e dei percorsi di distribuzione se si usa uno dei modelli di estendibilità dell'editor inclusi in Visual Studio. I modelli contengono tutti gli elementi necessari per registrare e distribuire un'estensione.

Eseguire estensioni nell'istanza sperimentale

È possibile isolare la versione di lavoro di Visual Studio durante lo sviluppo di un'estensione distribuendola nella cartella sperimentale seguente (in Windows Vista e Windows 7):

{%LOCALAPPDATA%}\VisualStudio\10.0Exp\Extensions\{Company}\{ExtensionID}

dove %LOCALAPPDATA% è il nome dell'utente connesso, Company è il nome della società proprietaria dell'estensione e ExtensionID è l'ID dell'estensione.

Quando si distribuisce un'estensione nel percorso sperimentale, viene eseguita in modalità di debug. Viene avviata una seconda istanza di Visual Studio e viene denominata Microsoft Visual Studio - Istanza sperimentale.

Gestire le estensioni

Le estensioni di Visual Studio sono elencate in Estensioni e Aggiornamenti (dal menu Strumenti). Se si sta testando un'estensione nell'istanza sperimentale, viene elencata in Estensioni e Aggiornamenti nell'istanza sperimentale, ma non è elencata nell'istanza di sviluppo.

Per altre informazioni, vedere Trovare e usare le estensioni di Visual Studio.

Usare i modelli per creare estensioni dell'editor

È possibile usare i modelli di editor per creare estensioni MEF che personalizzano classificatori, oggetti decorativi e margini. Sono disponibili modelli per i progetti C# e Visual Basic. Per altre informazioni, vedere Creare un'estensione con un modello di elemento dell'editor.

È anche possibile usare il modello di progetto VSIX per creare estensioni. Questo modello fornisce solo gli elementi necessari per distribuire qualsiasi tipo di estensione e includere il file source.extension.vsixmanifest , i riferimenti all'assembly necessari e un file di progetto che include le attività di compilazione che consentono di distribuire l'estensione. Per altre informazioni, vedere Modello di progetto VSIX.

È anche possibile creare componenti MEF dell'editor da un'estensione del pacchetto di Visual Studio. Per informazioni dettagliate, vedere le procedure dettagliate seguenti: