VisualStudio.Extensibility 更新内容总结
VisualStudio.Extensibility 团队发布了多项更新,包括新的诊断资源管理器(Diagnostics Explorer)用于调试扩展、对 XAML 资源的支持、文件和目录选择器提示以及 TrackUpdatesAsync() 方法,以更高效地跟踪和管理项目变更。
诊断资源管理器(Diagnostics Explorer)
- 功能:提供了强大的扩展调试能力,帮助开发者了解 Visual Studio 如何感知他们的扩展。
- 发布渠道:已发布在 Visual Studio Marketplace 上。
主要特性:
- 多标签页:用于检查命令、命令集、组、菜单、工具栏、命令放置和动态命令锚点,帮助诊断诸如命令缺失等问题。
- 实时事件查看器:开发者可以观察 IDE 中的实时事件及其属性,如命令执行、工具窗口打开或 TextView 创建。
- 激活约束标签页:提供创建激活约束时可用的每个值的当前状态。
XAML 资源支持
- 功能:显著增强了扩展的 UI 开发能力,允许开发者定义可重用的对象(如颜色、画笔和样式),从而简化一致且美观的用户界面创建。
- 实现方式:通过将 XAML 文件与 ResourceDictionaries 作为嵌入式资源包含在 .csproj 文件中,并可以通过
ResourceDictionaries.AddEmbeddedResource("XamlResources.xaml")引用。
文件和目录选择器提示
- 功能:扩展现在可以显示文件和目录选择器提示,开发者可以提示用户选择单个文件、多个文件、保存文件或目录。
- API 示例:
ShowOpenFileDialogAsync()方法可以提示用户选择要打开的文件,旨在简化 Visual Studio 环境中的文件和目录选择过程。
TrackUpdatesAsync() 方法
- 功能:允许用户创建一个 IObserver 对象来监视项目或解决方案状态的变化,开发者可以通过自定义 TrackerObserver 实现
IObserver<IQueryTrackUpdates<IFileSnapshot>>来应用自己的逻辑处理更新事件。 示例:
var query = await myProject .Files .With(f => f.FileName) .TrackUpdatesAsync(new TrackerObserver(), CancellationToken.None);
文档与支持
这些更新旨在提升 VisualStudio.Extensibility 的功能性和开发体验,帮助开发者更高效地创建和管理扩展。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。