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.
Esplorare la documentazione
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"
- Creare la prima estensione di Visual Studio mostra come creare l'equivalente di "Hello, world" come estensione.
- Creare una semplice estensione mostra come creare un'estensione più interessante che aggiunge un GUID alla finestra dell'editor.
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.
- Creare comandi ed esporli agli utenti nell'IDE, vedere Comandi.
- Usare il contenuto di file e documenti, vedere Estensioni dell'editor.
- Usare la rappresentazione in memoria dei documenti stessi, vedere Documenti.
- Usare la finestra di output in un'estensione, vedere Finestra output.
- Usare le finestre degli strumenti, le finestre ancorabili all'interno dell'IDE di Visual Studio, vedere Finestre degli strumenti.
- Usare i prompt con pulsanti personalizzabili per interagire con l'utente, vedere Richieste utente.
- Usare i dialoghi con l'interfaccia utente personalizzata per interagire con l'utente, vedere Finestre di dialogo
- Creare visualizzazioni di dati personalizzate durante il debug, vedere Visualizzatori del debugger
- Eseguire query o modificare informazioni sulle soluzioni di sabbia del progetto, vedere Project Query
- Usare i server di lingua/LSP per il supporto linguistico aggiuntivo, vedere Language Server Provider (Provider di server di linguaggio)
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
- Microsoft.VisualStudio.Extensibility
- Microsoft.VisualStudio.Extensibility.Editor
- Microsoft.VisualStudio.ProjectSystem.Query
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.