VisualStudio.Extensibility 17.10:诊断资源管理器、XAML 支持等

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);

文档与支持

  • 文档与安装:详细文档和安装说明可在 这里 获取。
  • 问题追踪与反馈:开发者可以通过 GitHub 仓库问题追踪器 提交错误报告和功能建议。
  • 示例代码:仓库中还提供了扩展 示例 以帮助开发者快速上手。

这些更新旨在提升 VisualStudio.Extensibility 的功能性和开发体验,帮助开发者更高效地创建和管理扩展。

阅读 51
0 条评论