Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il nuovo SDK di estendibilità di Visual Studio si basa sull'infrastruttura di servizi negoziata introdotta in Visual Studio 2019. È costituito principalmente da:
Un oggetto VisualStudioExtensibility ↗ che funge da punto di ingresso per l'API di estendibilità. Questo oggetto dispone di metodi di estensione su di esso,
Views()ad esempio oLanguages()che espone punti di estendibilità dell'IDE.Wrapper e metodi di estensione per i servizi negoziati esposti dall'infrastruttura IServiceBroker ↗ con l'obiettivo di semplificare l'uso dei servizi. In alcuni casi, i metodi di estensione devono restituire direttamente l'interfaccia del contratto.
Classi di base per parti di estensione, comandi e estensione stessa, che vengono usate per esporre i servizi negoziati dall'estensione all'IDE di Visual Studio. Questi servizi sono il metodo principale attraverso cui Visual Studio interagisce con l'estensione.
Un framework per la generazione di codice che produce un file di metadati
.vsextension/extension.jsonbasato sulle parti di estensione e sui suoi attributi. Questo file dichiara i servizi, le parti di estensione e altri servizi esposti dall'estensione.
Pacchetti NuGet
Il nuovo modello di estendibilità per Visual Studio dipende da un set di nuovi pacchetti NuGet per fornire API, strumenti di compilazione, generazione di codice e analizzatori.
Microsoft.VisualStudio.Extensibility.Sdk
Collegamento: Microsoft.VisualStudio.Extensibility.Sdk 17.xxxxx ↗
Si tratta del pacchetto primario che contiene dipendenze per tutti i pacchetti prerequisiti indicati nelle sezioni seguenti. È consigliabile che gli sviluppatori di estensioni abbiano un riferimento a questo meta-pacchetto anziché a singoli riferimenti.
Microsoft.VisualStudio.Extensibility.Build
Collegamento: Microsoft.VisualStudio.Extensibility.Build 17.xxxxx ↗
Questo pacchetto contiene gli strumenti di sviluppo e i generatori di codice delle funzionalità del progetto necessari per costruire l'estensione e per il funzionamento del debug F5 nell'IDE di Visual Studio.
Dependencies
Microsoft.VisualStudio.Extensibility
Questo pacchetto contiene le API SDK e le librerie di utilità per sviluppare estensioni usando il modello di estendibilità out-of-process. Ogni estensione deve includere un riferimento a questo pacchetto come punto di partenza.
Microsoft.VisualStudio.Extensibility.JsonGenerators.Sdk
Questo pacchetto contiene i generatori di codice necessari per generare i metadati dell'estensione durante la compilazione. Senza questo pacchetto, un'estensione compilata potrebbe non funzionare correttamente perché non conterrà i file di metadati necessari.
Pacchetti facoltativi
Nelle anteprime future, potrebbero essere presenti pacchetti NuGet che non sono inclusi come dipendenza obbligatoria dal Microsoft.VisualStudio.Extensibility.Sdk pacchetto, ma possono essere aggiunti in base alle esigenze per fornire API per determinate aree di funzionalità, ad esempio debugger, controllo del codice sorgente.