Visual Studio 2019 SDK 的新功能
Visual Studio SDK 為 Visual Studio 2019 提供了以下新功能和更新功能。
非同步自動載入擴充功能警告
現在,如果任何已安裝的擴充功能在啟動時同步自動載入,使用者將會看到警告。 您可以在同步自動載入擴充功能中深入了解警告。
單一、整合的 Visual Studio SDK
您現在可以透過單一 NuGet 套件 Microsoft.VisualStudio.SDK 取得所有 Visual Studio SDK 資產。
編輯器註冊增強功能
Visual Studio 自建立以來就可支援自訂編輯器註冊,其中編輯器可以聲明其與特定擴充功能 (例如,.xaml 和 .rc) 的關聯性,或者它適用於任何擴充功能 (.*)。 我們從 Visual Studio 2019 16.1 版開始,擴大對編輯器註冊的支援。
檔案名稱
除了或者代替註冊對特定檔案擴充功能的支援,編輯器也可以藉由將新的 ProvideEditorFilename
屬性套用至編輯器的套件,來註冊它支援特定檔名。
例如,支援所有 .json 檔案的編輯器會將此 ProvideEditorExtension
屬性套用至其套件:
[ProvideEditorExtension(typeof(MyEditor), ".json", MyEditor.Priority)]
從 16.1 開始,如果 MyEditor 只支援幾個已知的 .json 檔案,它可以改為將這些 ProvideEditorFilename
屬性套用至其套件:
[ProvideEditorFilename(typeof(MyEditor), "particular.json", MyEditor.Priority)]
[ProvideEditorFilename(typeof(MyEditor), "special.json", MyEditor.Priority)]
UIContexts
編輯器可以註冊一個或多個 UIContext 來表示它啟用的情況。 UIContexts 是藉由將一個或多個 ProvideEditorUIContextAttribute
的執行個體套用至註冊編輯器的套件來註冊。
如果編輯器已註冊 UIContexts:
- 如果開啟具有指定擴充功能的檔案時,至少有一個已註冊的 UIContexts 處於使用中狀態,編輯器就會包含在編輯器搜尋中。
- 如果已註冊的 UIContexts 沒有作用,編輯器就不會包含在編輯器搜尋中。
如果編輯器未註冊任何 UIContexts,它將始終包含在該擴充功能的編輯器搜尋中。
例如,如果編輯器只有在 C# 專案開啟時才可使用,則可以套用 ProvideEditorUIContext
屬性來宣告此關聯性:
[ProvideEditorUIContext(typeof(MyEditor), KnownUIContexts.CSharpProjectContext)]