Informazioni su VisualStudio.Extensibility (anteprima)

VisualStudio.Extensibility è un nuovo framework per lo sviluppo di estensioni di Visual Studio incentrate principalmente sulle estensioni che eseguono out-of-process dall'IDE per migliorare le prestazioni e l'affidabilità. Offre un'API asincrona moderna e ottimizzata per ottimizzare la produttività degli sviluppatori. VisualStudio.Extensibility è in fase di sviluppo attivo ed è disponibile come anteprima.

Con l'anteprima corrente è possibile sviluppare un'ampia gamma di estensioni in Visual Studio, tra cui la creazione di comandi, l'uso di codice o testo nell'editor, la visualizzazione di prompt o dialoghi all'utente, la creazione di visualizzatori del debugger e altro ancora.

VisualStudio.Extensibility mira a risolvere molti dei problemi riscontrati dagli sviluppatori durante l'uso e la scrittura di estensioni in Visual Studio. La scrittura di estensioni con VisualStudio.Extensibility offre i vantaggi seguenti:

  • Maggiore affidabilità: Visual Studio rimane reattivo e non si arresta in modo anomalo se un'estensione si arresta in modo anomalo o si blocca.
  • Riduzione della complessità dell'API: VisualStudio.Extensibility ha un'architettura semplificata, API coerenti e documentazione chiara.
  • Funzionalità di caricamento frequente: Non è necessario riavviare Visual Studio durante l'installazione delle estensioni.

Infine, sarà possibile usare VisualStudio.Extensibility SDK per scrivere qualsiasi estensione che è possibile scrivere usando VS SDK. Tuttavia, fino a quel momento, potrebbero verificarsi situazioni in cui la funzionalità necessaria nell'estensione non è ancora disponibile in VisualStudio.Extensibility. In tal caso, è possibile usare VisualStudio.Extensibility SDK insieme a VS SDK in esecuzione in-process per coprire eventuali gap di funzionalità. Per altre informazioni, vedere Estensioni in-proc.

Le informazioni più recenti su VisualStudio.Extensibility sono disponibili nel repository GitHub V edizione Standard xtensibility negli annunci.

Articolo Descrizione
Installare VisualStudio.Extensibility Scaricare e installare l'anteprima più recente di VisualStudio.Extensibility.
Operazioni preliminari Iniziare con le guide introduttive per principianti e le esercitazioni introduttive se non è mai stata sviluppata un'estensione in precedenza.
Concetti Creare il modello mentale di funzionamento dell'SDK e delle estensioni.
Panoramiche Per altre informazioni, leggere le panoramiche di ogni area principale delle funzionalità.
Esempi Esplorare il codice di esempio che illustra le funzionalità principali.
Informazioni di riferimento sulle API Esplorare la documentazione dell'API VisualStudio.Extensibility.
API sperimentali e modifiche di rilievo Informazioni sull'approccio alle API stable-vs-experimental e sulle modifiche di rilievo rispetto alla versione precedente.
Problemi noti Visualizzare i problemi noti con VisualStudio.Extensibility SDK.
Argomenti avanzati Informazioni dettagliate sull'implementazione di VisualStudio.Extensibility SDK.

Installare VisualStudio.Extensibility

L'anteprima corrente di VisualStudio.Extensibility funziona con Visual Studio 2022 versione 17.9 Preview 1 o successiva con il Visual Studio extension development carico di lavoro da installare.

Operazioni preliminari

Gli articoli seguenti consentono di orientarsi e iniziare"

Per comprendere come usare VisualStudio.Extensibility, è consigliabile comprendere attentamente la programmazione asincrona con async e await e dependency injection. Inoltre, l'interfaccia utente in VisualStudio.Extensibility è basata su Windows Presentation Foundation (WPF), quindi è consigliabile esaminare la documentazione wpf.

Concetti

Se si ha familiarità con Visual Studio SDK, vedere Introduzione a VisualStudio.Extensibility per gli utenti di VSSDK.

Per creare il modello mentale del funzionamento delle estensioni di Visual Studio, vedere Parti di una nuova estensione di Visual Studio.

Per scoprire cosa è incluso nell'SDK, vedere Aree funzionali dell'SDK.

Quando e dove dovrebbe essere visualizzata l'estensione nell'IDE? Le estensioni di Visual Studio vengono visualizzate nell'IDE quando vengono soddisfatte determinate condizioni. Per avere il controllo su come e quando l'estensione viene visualizzata nell'IDE, vedere Vincoli di attivazione basati su regole.

Le estensioni di Visual Studio rendono disponibili le funzionalità per Visual Studio tramite contributi. Per altre informazioni, vedere Contributi

Informazioni sul modello di interfaccia utente remota usato in VisualStudio.Extensibility.

Panoramiche

Leggere una panoramica delle aree dell'SDK che potrebbero essere necessarie per i progetti di sviluppo di estensioni.

Esempi ed esercitazioni

È possibile trovare una soluzione di Visual Studio che contiene tutti gli esempi in Samples.sln.

Esempio Descrizione
Gestore comandi semplice Illustra le nozioni di base sull'uso dei comandi. Vedere anche l'esercitazione Creare la prima estensione di Visual Studio.
Inserire l'estensione guid Illustra come inserire testo o codice nell'editor di codice, come configurare un comando con una condizione di attivazione specifica e come usare un file di risorse per la localizzazione. Vedere anche l'esercitazione Creare un'estensione semplice.
Parenting dei comandi Illustra come creare un comando che può essere padre di diversi aspetti dell'IDE.
Selettore di documenti Illustra come creare un'estensione dell'editor applicabile solo ai file che corrispondono a un modello di percorso di file.
Finestra Output Mostra l'uso più semplice dell'API Finestra di output
Finestra degli strumenti Illustra come creare una finestra degli strumenti e popolarla con il contenuto.
Richiesta dell'utente Mostra come visualizzare una richiesta all'utente.
Finestra di dialogo Mostra come visualizzare una finestra di dialogo con l'interfaccia utente personalizzata per l'utente.
Margine conteggio parole Illustra come creare un'estensione del margine dell'editor che visualizza il conteggio delle parole in un documento.
Markdown linter Illustra in che modo più componenti possono interagire insieme all'interno di un'estensione e in che modo è possibile estendere aree diverse di Visual Studio.
Query di progetto Mostra diversi tipi di query di sistema del progetto che è possibile eseguire.
Rimozione di commenti Illustra come usare i servizi di Visual Studio SDK tramite l'inserimento delle dipendenze .NET e usare le API VisualStudio.Extensibility per comandi, prompt e report di stato.
RegexMatchDebugVisualizer Illustra come usare l'interfaccia utente remota per creare un visualizzatore di debugger per visualizzare le corrispondenze di espressioni regolari che verranno avviate in una finestra di dialogo modale.
MemoryStreamDebugVisualizer Illustra come creare un visualizzatore di debugger per visualizzare gli oggetti MemoryStream che vengono avvio in una finestra degli strumenti non modale.
RustLanguageServiceProvider Illustra come creare un'estensione del provider del server di linguaggio Rust che aggiunge IntelliSense e descrizioni comando all'apertura di un file rust.

API sperimentali e modifiche di rilievo

A partire dalla versione 17.9, siamo pronti per etichettare la maggior parte delle API come stabili. In altre parole, non si prevede di apportare modifiche di rilievo a queste API. Eventuali modifiche di rilievo che potrebbero essere necessarie, ad esempio in risposta al feedback degli utenti sull'usabilità, verranno comunicate formalmente e con un sacco di preavviso nella pagina delle modifiche di rilievo.

Esistono alcune api che non soddisfano ancora questa barra per la stabilità, per uno dei diversi motivi:

  • L'area delle funzionalità è nuova e le funzionalità aggiuntive e le modifiche sono previste nelle versioni future.
  • L'API è nuova e si vuole incorporare il feedback degli utenti nella progettazione prima di contrassegnarla stabile.
  • È stato ricevuto un feedback che un'API specifica è difficile da usare, quindi si prevede di aggiornarla nelle versioni future.

Per queste API, sono stati etichettati in modo esplicito usando l'attributo [Experimental] per consentire agli autori di estensioni di creare le estensioni con sicurezza nell'SDK.

Per altre informazioni, tra cui come usare le API sperimentali, vedere la pagina Api sperimentali .

Problemi noti

Microsoft apprezza il feedback e i report sui bug nel tracker dei problemi e microsoft lavora per risolvere eventuali problemi rilevati nell'SDK.

Visitare la pagina Problemi noti per informazioni su eventuali problemi noti correnti.

Argomenti avanzati

Articolo Descrizione
Interfaccia utente remota avanzata Informazioni approfondite sul modello di interfaccia utente remota
Estensioni in-process Procedura dettagliata rapida su diverse opzioni per l'uso di VisualStudio.Extensibility SDK in-proc

Documentazione api

Invia commenti

Stiamo cercando attivamente commenti e suggerimenti e coinvolgimento. La fase di anteprima è un ottimo momento per ottenere l'input della community per consentirci di identificare problemi e opportunità. È possibile fornire commenti e suggerimenti e segnalare bug nel tracker dei problemi.