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,这些 UIContext 表示启用时表示。 UIContexts 通过向注册编辑器的包应用一个或多个实例 ProvideEditorUIContextAttribute
来注册。
如果编辑器已注册 UIContexts:
- 如果打开具有给定扩展名的文件时,至少有一个已注册的 UIContexts 处于活动状态,编辑器将包含在编辑器搜索中。
- 如果已注册的 UIContexts 均未处于活动状态,编辑器将不会包含在编辑器搜索中。
如果编辑器未注册任何 UIContexts,则始终包含在编辑器中搜索该扩展。
例如,如果编辑器仅在 C# 项目打开时可用,则可以通过应用 ProvideEditorUIContext
属性来声明此关联:
[ProvideEditorUIContext(typeof(MyEditor), KnownUIContexts.CSharpProjectContext)]