Novità di Visual Studio 2019 SDK

L Visual Studio SDK include le funzionalità nuove e aggiornate seguenti per Visual Studio 2019.

Avviso relativo alle estensioni caricate automaticamente in modo sincrono

Gli utenti ora visualizzano un avviso se una delle estensioni installate viene caricata automaticamente in modo sincrono all'avvio. Per altre informazioni sull'avviso, vedere Estensioni caricate automaticamentein modo sincrono.

SDK singolo e Visual Studio unificato

È ora possibile ottenere tutti gli asset Visual Studio SDK tramite un singolo pacchetto NuGet Microsoft.VisualStudio.SDK.

Miglioramenti della registrazione dell'editor

Dopo la creazione, Visual Studio ha supportato la registrazione dell'editor personalizzato in cui un editor può dichiarare la propria affinità per estensioni specifiche (ad esempio, .xaml e .rc) o che è adatto per qualsiasi estensione (.*). A partire Visual Studio 2019 versione 16.1, si amplia il supporto per la registrazione dell'editor.

Nomi file

Oltre a o invece di registrare il supporto per una determinata estensione di file, un editor può registrare che supporta nomi di file specifici applicando il nuovo attributo al ProvideEditorFilename pacchetto dell'editor.

Ad esempio, un editor che supporta tutti i file JSON applica questo ProvideEditorExtension attributo al pacchetto:

[ProvideEditorExtension(typeof(MyEditor), ".json", MyEditor.Priority)]

A partire dalla versione 16.1, se MyEditor supporta solo un paio di file JSON noti, può invece applicare questi attributi ProvideEditorFilename al pacchetto:

[ProvideEditorFilename(typeof(MyEditor), "particular.json", MyEditor.Priority)]
[ProvideEditorFilename(typeof(MyEditor), "special.json",    MyEditor.Priority)]

UiContexts

Un editor può registrare uno o più UIContext che rappresentano quando è abilitato. Gli UIContext vengono registrati applicando una o più istanze ProvideEditorUIContextAttribute di al pacchetto che registra l'editor.

Se un editor ha registrato UIContexts:

  • Se almeno uno dei relativi UIContext registrati è attivo quando viene aperto un file con l'estensione specificata, l'editor viene incluso nella ricerca nell'editor.
  • Se nessuno degli UIContext registrati è attivo, l'editor non viene incluso nella ricerca nell'editor.

Se un editor non registra uiContext, viene sempre incluso nella ricerca dell'estensione nell'editor.

Ad esempio, se un editor è disponibile solo quando un progetto C# è aperto, può dichiarare questa affinità applicando un ProvideEditorUIContext attributo:

[ProvideEditorUIContext(typeof(MyEditor), KnownUIContexts.CSharpProjectContext)]