浏览和重新排列依赖项关系图
可以重新排列在依赖项关系图的项目以便于阅读和缩短呈现性能。
要求
最终的 Visual Studio,Visual Studio 高级专业版、Visual Studio professional
若要创建依赖项关系图,您必须具有最终的 Visual Studio。 请参见 在依赖项关系图上可视化代码依赖项。
主题内容
管理大关系图
将关系图布局
浏览关系图
检查的节点和链接
隐藏或显示节点和链接
分组节点
使用鼠标或键盘,以提高更多方式浏览关系图中,选择"空白关系图的帮助链接。
管理大关系图
当您首次时生成依赖项关系图,Visual Studio 会创建它找到所有依赖项的代码索引。 虽然此过程可能需要一些时间,特别是的大型解决方案或多个链接的关系图,该索引提高最新操作性能。 如果代码后更改,则 Visual Studio 会用仅更新代码。
如果不希望等待关系图完成生成,则可以取消在 + 任何 + 时间生成过程并尝试以下建议:
关系图关注您的特定依赖关系。 请参见 在依赖项关系图上可视化代码依赖项。
在生成整个解决方案的关系图之前,请减小解决方案的大小。
在您生成关系图后,请尝试以下建议:
在关系图工具栏上,选择 快速群集,以便可以在代码的自然群集依赖项。 将关系图布局参见。
组织关系图到小大小按分组的相关节点。 折叠只显示 intergroup 依赖项的这些组,会自动出现。 分组节点参见。
手动编辑关系图删除不需要的节点和链接。 更改关系图不会影响基础代码。 请参见 编辑和自定义依赖项关系图。
将关系图布局
若要 |
在关系图工具栏或图形快捷菜单 |
---|---|
使整个关系图上的依赖关系流在给定的方向。 这可帮助您发现代码中的体系结构层。 |
选择之一显示关系图作为节点构树:
|
请参见代码中的依赖项自然群集。 |
选择 快速群集 至多查看最依赖的节点群集中的中心和最少依赖的节点这些群集。 |
若要将在关系图的特定节点,请拖动这些元素。 移开其他的节点和的链接,当您拖动节点,按住 移动 键,则将节点。 独立关系图更改该组内的布局通过选择一节点构树布局、快速群集或 列表视图,将组的内容添加到列表中。 分组节点参见。
备注
以下功能不可用的此版本:邻居浏览模式、蝶形模式、高级选择和 依赖关系矩阵视图。
浏览关系图
若要 |
执行这些步骤 |
---|---|
浏览关系图 |
拖动到任意方向的关系图。 |
放大或缩小关系图 |
滚动鼠标轮。 - 或 - 选择加号 (+) 或减号 (-) 在关系图工具栏。 - 或 - 若要放大特定区域,请使用鼠标右键围绕该区域画出一个矩形。 |
调整控件的大小并容纳在窗口的关系图 |
在关系图工具栏上,选择 缩放到合适大小。 - 或 - 双击关系图的空白区域。 |
调整控件的大小并集中在某个特定节点的关系图 |
展开该节点。 双击在节点的空白区域内。 Visual Studio 调整关系图,因此在关系图窗口中的整个组条件。 如果双击折叠的命名空间、选件类,或者其成员,Visual Studio 显示编码定义。 |
独立当前所选节点转换注意点 |
按 TAB。 一个虚线在当前焦点的节点旁边显示。 |
按名称查找在关系图上的节点。
提示
若要查找项目在解决方案中,但不在关系图上,找到它们在 解决方案资源管理器,然后将它们拖到关系图上。
|
重要事项
只有 + 当这些组之前,已经展开您在折叠组中可以使用搜索框查找匹配项。若要查找这些匹配和自动展开其父组,请选择此选项在搜索框下。
|
查找链接的源或目标 如果有太多链接而无法轻松地看到特定链接的源或目标,请使用此方法。 |
|
选择所有未选定节点 |
打开选定节点的快捷菜单。 选择 选择,插入选定内容。 |
选择与选定的节链接的其他节点 |
打开选定节点的快捷菜单。 选择 选择 和以下操作之一:
|
检查的节点和链接
依赖项关系图显示以下各种链接:
单个链接表示两个节点之间的单一关系。
跨组链接表示两个节点之间的关系在不同的组。
复合链接表示在两个组之间的同一个方向点的任何关系。
提示
默认情况下,关系图显示跨组链接仅所选节点的。若要始终显示这些链接,请在关系图工具栏上,打开 更改链接在关系图上的呈现方式 列表 。选择 显示所有跨组链接。
该隐藏组之间的链接。
若要 |
执行这些步骤 |
---|---|
有关节点或链接的更多信息 |
将鼠标指针在节点或链接的顶部,直至出现工具提示。 聚合链接的工具提示列表它表示的各个依赖项。 - 或 - 打开节点或链接的快捷菜单。 选择“属性”。 |
显示或隐藏组的内容 |
|
命名空间、类型或成员参见代码定义 |
打开节点的快捷菜单。 选择 GoTo,转到定义。 - 或 - 双击节点。 对于扩展的组中,双击该标头组。 - 或 - 选择节点。 按 F12。 例如:
|
查找链接的源或目标 如果有太多链接而无法轻松地看到特定链接的源或目标,请使用此方法。 |
|
检查参与一个聚合链接的依赖项和项目 |
为单个链接:
对多个链接:
Visual Studio 展开组在链接的两端并显示参与该链接的那些项目和依赖项。
说明
在检查了项目之间的依赖项在节组中时,您可能会看到以下行为:
|
检查在多个节点之间的依赖项不同的组 |
|
请参见节点或链接引用的项
说明
只有 + 当 Reference 属性的节点或链接将关系图的 .dgml 文件时,这适用。添加对从节点的工作项或链接,请参见 编辑和自定义依赖项关系图。
|
打开节点的快捷菜单。 选择 GoTo 和项目。 |
隐藏或显示节点和链接
隐藏节点从参与保留这些布局算法。 默认情况下,跨组链接隐藏。 跨组链接是连接跨组节点的单独的链接。 如果组处于折叠状态,则关系图聚合所有跨组链接到组之间的单个链接。 当展开一个组并选择的节点在组中,跨组链接在该组中将出现并显示依赖项。
警告
在共享在最终的 Visual Studio 中创建人使用 Visual Studio premium 或 Visual Studio professional 的关系图之前,请确定对 unhide 所有节点或跨组链接希望其他发现。否则,这些用户不能对 unhide 项。
隐藏或显示节点
若要 |
执行这些步骤 |
---|---|
隐藏所选节点 |
|
隐藏未选定节点 |
|
显示隐藏的节点 |
|
通过编辑 .dgml 文件来隐藏节点 |
|
显示或隐藏链接
若要 |
在关系图工具栏上,打开 更改链接在关系图上的呈现方式 列表或打开关系图快捷菜单。 选择: |
---|---|
始终显示跨组链接 |
显示所有跨组链接 该隐藏组之间的链接。 |
显示所选节点的跨组链接仅 |
显示所选节点的跨组链接 |
始终隐藏跨组链接 |
隐藏所有跨组链接 |
隐藏所有链接(或显示所有链接) |
隐藏所有链接 若要显示所有链接,请选择 隐藏所有链接 禁用此模式。 |
分组节点
若要 |
执行这些步骤 |
---|---|
显示容器节点作为组节点或叶节点 |
若要显示容器节点是叶节点,选择节点。 打开您选择的快捷菜单。 选择 组,转换为叶。 若要显示容器节点作为组节点,选择节点。 打开您选择的快捷菜单。 选择 组,转换为组。 若要显示任何叶节点作为组节点,打开关系图的快捷菜单。 选择 组,打开分组。 若要显示所有组节点是叶节点,打开关系图的快捷菜单。 选择 组,关闭分组。 |
更改该组内的格式 |
|
添加一个节点到组 |
拖到组上的节点。 当您拖动节点时,Visual Studio 显示指示器表示,将节点。 还可以拖动节点在组外。 |
添加一个节点到非组节点 |
您可以将所有节点变为组。 拖到目标节点上的节点。 |
组选定节点 |
|
具有特定类别或属性对节点进行分组 |
|
依据节点的容器对节点进行分组 |
|
依据节点的属性值对节点进行分组 |
|
移除组 |
选择要移除的组或组。 打开您选择的快捷菜单。 选择 组,移除组。 |
从节点的父组开始移除节点,直至其祖父组,或者,如果节点没有祖父组,则移除组外部的节点 |
选择要移动的节点。 打开您选择的快捷菜单。 选择 组,从父级移除。 |
也可以通过编辑关系图的 .dgml 文件来将节点组织为组。
将节点变为组或添加新组
若要将节点变为组,打开节点的快捷菜单。 选择 GoTo,DGML。
Visual Studio 将打开关系图的 .dgml 文件并显示该节点的 <Node/> 元素。
- 或 -
添加新组:
打开关系图的空白区域的快捷菜单。 选择 GoTo,DGML。
在 <Nodes> 部分添加新的 <Node/> 元素。
在 <Node/> 元素中,添加一个 Group 特性以指定组显示为展开状态还是折叠状态。 例如:
<Nodes> <Node Id="MyFirstGroup" Group="Expanded" /> <Node Id="MySecondGroup" Group="Collapsed" /> </Nodes>
在 <Links> 部分,确保对于组节点和其子节点之间的每个关系,都存在具有以下特性的 <Link/> 元素:
一个指定组节点的 Source 特性
一个指定子节点的 Target 特性
一个指定组节点和其子节点之间的 Contains 关系的 Category 特性
例如:
<Links> <Link Category="Contains" Source="MyFirstNewGroup" Target="FirstGroupChildOne" /> <Link Category ="Contains" Source="MyFirstNewGroup" Target="FirstGroupChildTwo" /> <Link Category ="Contains" Source="MySecondNewGroup" Target="SecondGroupChildOne" /> <Link Category="Contains" Source="MySecondNewGroup" Target="SecondGroupChildTwo" /> </Links>
有关 Category 属性的更多信息,请参见" 编辑和自定义依赖项关系图的 为节点和链接分配类别。