Novità di Visual Studio 2019 SDK

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

Avviso delle estensioni caricate automaticamente in modo sincrono

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

Visual Studio SDK singolo e unificato

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

Miglioramenti alla registrazione dell'editor

Dalla sua creazione, Visual Studio ha supportato la registrazione dell'editor personalizzato in cui un editor può dichiarare l'affinità per estensioni specifiche (ad esempio, .xaml e rc) o che sia adatta per qualsiasi estensione (.*). A partire da Visual Studio 2019 versione 16.1, viene ampliato il supporto per la registrazione dell'editor.

Nomi di 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 ProvideEditorFilename attributo al pacchetto dell'editor.

Ad esempio, un editor che supporta tutti i file JSON applicherà 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ò applicare questi ProvideEditorFilename attributi 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. UiContexts viene registrato applicando una o più istanze di ProvideEditorUIContextAttribute 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 uiContexts, 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)]