概述
VisualStudio.Extensibility Diagnostics Explorer 扩展旨在帮助在开发过程中调试 VisualStudio.Extensibility 扩展。 此扩展的目标受众是扩展作者,而不是扩展使用者。 此扩展提供了一个接口,用于检查扩展所交互的可扩展点、扩展向 IDE 提供的配置对象以及这些配置对象的元数据。
入门
按照以下说明安装、启动和配置 Diagsnotics Explorer。
安装扩展
可以直接通过 Visual Studio 中的扩展管理器,也可以从此处的 Visual Studio Marketplace 获取诊断资源管理器。
备注
VisualStudio.Extensibility Diagnostics Explorer 扩展与 Visual Studio 2022 17.12 及更高版本兼容。
在 Visual Studio 中打开诊断资源管理器
若要在 Visual Studio 中启动诊断资源管理器,请在“扩展”菜单中选择“VisualStudio.Extensibility 诊断资源管理器”。
启用诊断数据收集
默认情况下,诊断资源管理器配置为从扩展收集相关诊断数据。 如果要禁用或重新启用此数据收集,可以取消勾选或勾选工具窗口左下角的“启用收集诊断”复选框。 若要使此设置的任何更改生效,需要重启 Visual Studio。
诊断页面
“诊断资源管理器”工具窗口的左侧面板包含不同的诊断页面列表。 有两种类型的诊断页 - 可扩展功能和扩展性基础结构。 可扩展功能页提供有关 Visual Studio 中特定可扩展组件的诊断信息,例如命令。 扩展性基础设施页面提供相关的诊断信息,无论您的扩展程序插入到哪个扩展点。 事件 页面、与扩展性相关的事件的实时查看器,以及 客户端上下文 页(显示相关 IDE 状态以帮助创建激活约束)是两个扩展性基础结构页。
可扩展功能页
“可扩展功能”页在左上角有一个组合框,用于选择该功能区域中的不同扩展点,每个扩展点都可以与扩展中的配置对象直接对应。 例如,在“命令”页中有一个对应菜单和工具栏的扩展点,其中显示了 Visual Studio 在 VisualStudio.Extensibility 扩展中发现的每个菜单和工具栏。
属性在扩展中更新时,数据会实时更新。 例如,如果扩展在运行时更改其某个命令的显示名称,该命令的新显示名称将显示在该命令的 显示名称 列中的单元格中。
“扩展点”组合框还有一个名为“日志”的项,其中显示了这些更新的实时视图。 组合框旁边的“全部清除”按钮可用于清除视图中当前显示的所有行。
可以使用 Extensions ComboBox 筛选视图中的项。 在此组合框中选择“全部”时,将显示每个已安装的 VisualStudio.Extensibility 扩展的数据。 如果将此 ComboBox 更改为特定扩展的 ID,则仅显示与该特定扩展相关的项目。 即使在可扩展功能页之间导航时,此 ComboBox 的值也会保留。
DataGrid 中的某些单元格显示 [单击展开]。 此消息意味着与该属性相关的元数据太详细,无法整齐地显示在 DataGrid 的单元格中。 单击单元格将打开一个模式对话框,其中显示了该单元格的实际值。
可扩展基础设施页面
活动页面
事件页面会告诉你 IDE 中“某件事情发生”的时间。 每个事件在 DataGrid 中显示为新行,以及与该事件相关的任何属性。 例如,执行命令时,命令 - 执行 事件显示在视图中,其中显示了命令所属的扩展的 ID 以及所执行的命令的 ID。
可以使用 事件 ComboBox 筛选视图,以仅包含具有特定名称的事件。 选中“全部”时,将显示所有事件。 如果选择了特定事件,该事件的所有属性都会显示在视图中。 某些属性如果太详细而无法在单个单元格中显示,需要单击“[单击以展开]”来将其展开。
协定 ComboBox 会筛选视图,仅显示与特定可扩展的功能相关的事件。 它还筛选 Event
ComboBox,以仅包含与特定可扩展功能相关的事件的名称。
单击 “清除所有”按钮将删除视图中当前显示的所有事件。
列说明
扩展 ID
扩展 ID 列显示事件实例所关联的扩展的 ID。 如果某些事件不属于特定扩展,则此单元格可能为空,而是应用于整个 IDE。
项目标识
“项 ID”列显示与事件实例相关的扩展项的 ID。 例如,“命令 - 正在执行”事件的项 ID 将是已在执行的命令的 ID。
性能
Properties 列显示与可在 DataGrid 中的单个单元格中显示的事件实例相关的属性集。 更详细的属性只能从“详细信息”对话框中查看,或者通过将“事件”组合框更改为你感兴趣的特定事件的名称来显示。
详细信息
“详细信息”列显示与事件相关的更详细的元数据。 单击此列中的单元格将打开一个模式对话框,其中包含与该行表示的事件相关的所有元数据。
“客户端上下文”页
客户端上下文页显示与 IDE 本身相关的各种属性的状态。 “上下文”组合框可更改视图中的数据,以显示与“客户端上下文”组合框中当前所选项相关的所有激活约束,或自工具窗口打开以来这些属性更改的所有时间的日志。 选择 事件 上下文时,可以使用 “清除所有”按钮删除视图中当前显示的所有事件。