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.
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 moderna asincrona semplificata e accuratamente progettata 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 per Visual Studio, tra cui, a titolo esemplificativo:
- Creazione di comandi
- Uso del codice o del testo nell'editor
- Visualizzazione di prompt o dialoghi all'utente
- Creazione di visualizzatori del debugger
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.
- complessità dell'API ridotta: VisualStudio.Extensibility offre un'architettura semplificata, API coerenti e una documentazione chiara.
- funzionalità di caricamento a caldo: Non è necessario riavviare Visual Studio quando si installano le estensioni.
Infine, sarà possibile usare VisualStudio.Extensibility SDK per scrivere qualsiasi estensione che è possibile scrivere usando Visual Studio 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 Visual Studio 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 VSExtensibility all'indirizzo annunci.
Esplorare la documentazione
Articolo | Descrizione |
---|---|
Installare VisualStudio.Extensibility | Scaricare e installare l'anteprima più recente di VisualStudio.Extensibility. |
Introduzione | Iniziare con le guide introduttive per principianti e le esercitazioni introduttive se non è stata sviluppata un'estensione in precedenza. |
concetti | Creare il modello mentale di funzionamento dell'SDK e delle estensioni. |
Panoramiche | Per saperne di più, leggere le sintesi di ciascuna principale area di funzionalità. |
esempi di | 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 cambiamenti significativi | 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 carico di lavoro Visual Studio extension development
da installare.
Inizia
Gli articoli seguenti consentono di orientarsi e iniziare"
- Creare la prima estensione di Visual Studio illustra come creare l'equivalente di "Hello, world" come estensione.
- Creare un'estensione semplice illustra come creare un'estensione più interessante che aggiunge un GUID alla finestra dell'editor.
Per comprendere come usare VisualStudio.Extensibility, è consigliabile comprendere in modo approfondito programmazione asincrona con async e await e l'inserimento delle dipendenze. Inoltre, l'interfaccia utente in VisualStudio.Extensibility si basa su Windows Presentation Foundation (WPF), quindi è consigliabile esaminare la documentazione di 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 informazioni sull'architettura di un'estensione. Ulteriori informazioni sull'injectione delle dipendenze , utilizzata per condividere componenti tra i componenti di un'estensione.
Per informazioni su 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 controllare 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
Scopri il modello dell'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.
- Lavora con i contenuti di file e documenti, vedi le estensioni dell'editor .
- Lavora con la rappresentazione in memoria di quei documenti stessi, vedere Documenti.
- Usare la finestra di output in un'estensione, vedere finestra di output.
- Usare le finestre degli strumenti, le finestre ancorabili all'interno dell'IDE di Visual Studio, consultare finestre degli strumenti.
- Usare i prompt con pulsanti personalizzabili per interagire con l'utente, vedere richieste utente.
- Utilizzare i dialoghi con un'interfaccia utente personalizzata per interagire con l'utente, consulta i dialoghi .
- Creare visualizzazioni di dati personalizzate durante il debug, vedere Debugger Visualizer
- Eseguire query o modificare informazioni su progetti e soluzioni, vedere Project Query
- Definire, leggere e aggiornare le impostazioni, vedere Impostazioni
- Usare i server di lingua/LSP per il supporto linguistico aggiuntivo, vedere Language Server Provider
Esempi ed esercitazioni
È possibile trovare una soluzione di Visual Studio che contiene tutti gli esempi in Samples.sln.
Campione | Descrizione |
---|---|
gestore comandi semplice | Illustra le nozioni di base sull'uso dei comandi. Vedi anche il tutorial Crea la tua prima estensione di Visual Studio. |
Inserisci 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. Vedi anche il tutorial 'Crea la tua semplice estensione'. |
genitorialità autoritaria | Illustra come creare un comando che può essere associato a 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 di output | Mostra l'uso più basilare dell'API della finestra di output |
finestra degli strumenti | Illustra come creare una finestra degli strumenti e popolarla con il contenuto. |
richiesta 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 di conteggio di Word | 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. |
rimuovere i commenti | Illustra come usare servizi di visual Studio SDK tramite l'inserimento delle dipendenze .NET e usare le API VisualStudio.Extensibility per comandi, prompt e report sullo stato. |
RegexMatchDebugVisualizer | Mostra come utilizzare l'interfaccia utente remota per creare un visualizzatore del debugger in grado di visualizzare le corrispondenze delle espressioni regolari che verranno lanciate in una finestra di dialogo modale. |
memoryStreamDebugVisualizer | Illustra come creare un visualizzatore del debugger per visualizzare gli oggetti MemoryStream che si avviano in una finestra dello strumento non modale. |
RustLanguageServiceProvider | Illustra come creare un'estensione del provider del server di linguaggio Rust che aggiunge IntelliSense e descrizioni comando quando si apre 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 che interrompono la compatibilità, ad esempio quelle richieste dal feedback degli utenti sull'usabilità, verranno formalmente comunicate in anticipo sulla nostra pagina modifiche che interrompono la compatibilità con ampio preavviso.
Ci sono alcune delle nostre API che non soddisfano ancora questo standard di 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.
Queste API vengono etichettate 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 nell'Issues Trackere microsoft lavora per risolvere eventuali problemi rilevati nell'SDK.
Visita la pagina Problemi noti per informazioni sui problemi attualmente conosciuti.
Argomenti avanzati
Articolo | Descrizione |
---|---|
Altri concetti relativi all'interfaccia utente remota | Argomenti aggiuntivi relativi all'uso del modello di interfaccia utente remota |
L'interfaccia utente remota avanzata | Informazioni approfondite sul modello di interfaccia utente remota |
estensioni in-proc | Panoramica rapida sulle diverse opzioni per l'uso di VisualStudio.Extensibility SDK all'interno del processo |
Documentazione api
- Microsoft.VisualStudio.Extensibility
- Microsoft.VisualStudio.Extensibility.Editor
- Microsoft.VisualStudio.ProjectSystem.Query
Inviare commenti e suggerimenti
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 .