浏览和重新排列代码图
重新排列代码图上的项目,以使它们更易于读取并改进其性能。
你可以自定义代码图而不会影响解决方案中的基础代码。 当你希望将重点放在关键代码元素或交流有关代码的想法时,这很有用。 例如,若要突出显示感兴趣的区域,你可以在图上选择代码元素并筛选它们,更改代码元素和链接的样式,隐藏或删除代码元素,以及使用属性、类别或组来组织代码元素。
要求
若要创建代码图,必须具有 Visual Studio Enterprise。
你可以查看代码图,并在 Visual Studio Professional 中对代码图进行有限的编辑。
开始使用代码图
创建代码图(请参阅映射解决方案之间的依赖项,了解详细信息)。 如果不想等待该代码图完成生成操作,随时可以单击“取消”链接停止生成过程。 但是,如果进行此操作,将无法看到所有依赖项和链接。
生成代码图后,使用这些提示来审查代码:
查看代码中的自然依赖项群集。 在地图工具栏上,依次选择“布局”、“快速群集”。 请参阅更改代码图布局。
通过对相关节点分组,将代码图组织成更小的区域。 折叠这些组,以仅查看组与组之间的依赖项,这些依赖项会自动显示。 请参阅组节点。
使用筛选器简化代码图,并将重点放在节点类型或你感兴趣的链接上。 请参阅筛选器节点和链接。
实现大型代码图性能的最大化。 请参阅映射解决方案之间的依赖项了解详细信息。例如,在代码图工具栏上开启“跳过生成”,则在代码图上更新项目时,Visual Studio 将不会重新生成解决方案。
更改代码图布局
To | 执行以下步骤 |
---|---|
为特定方向中的整个代码图排列依赖项流。 这可以帮助你查看代码中的体系结构层。 | 在代码图工具栏上,选择“布局”,然后: - “从上到下” - “从下到上” - 从左到右 - 从右到左 |
在集群中心依赖项节点最多,且在集群外依赖项节点最少的代码中查看自然依赖项集群。 | 在地图工具栏上,依次选择“布局”、“快速群集”。 |
在代码图上选择一个或多个节点。 | 单击某个节点,以将其选中。 若要选择或取消选择多个节点,请在单击时按住 CTRL。 键盘:按 TAB 或使用箭头键将聚焦虚框移到某个节点,然后按空格键将其选中 。 按 CTRL + 空格键来进行多选或取消选择多个节点 。 |
在代码图上移动特定的节点。 | 拖动节点以对其进行移动。 若要在移动节点时移开其他节点和链接,请按住 SHIFT 键。 键盘:按住 CTRL,然后按箭头键。 |
更改独立于代码图上其他节点和组的组内的布局。 | 选择一个节点,然后打开快捷菜单。 选择“布局”,然后选择一种布局样式。 - 或 - 选择一个节点并将其展开以显示子节点。 单击该节点标题以显示组弹出窗口工具栏,然后打开“更改组布局样式”列表。 选择其中的一个树形布局,“快速群集”或“列表视图”(将组内容排列成列表 )。 有关详细信息,请参阅组节点。 |
在代码图中撤消操作。 | 按 CTRL + Z 或使用 Visual Studio 的“撤消”命令 。 |
浏览该代码图
To | 执行以下步骤 |
---|---|
扫描代码图。 | 使用鼠标将代码图拖动至任意方向。 - 或 - 按住 SHIFT 并旋转鼠标滚轮以进行水平滚动。 按住 SHIFT + CTRL 并旋转鼠标滚轮以进行水平滚动 。 |
放大或缩小代码图。 | 旋转鼠标滚轮。 - 或 - 使用代码图工具栏上的“缩放”下拉列表。 - 或 - 使用键盘快捷键。 若要放大,按 CTRL + SHIFT + .(句点)。 若要缩小,请按 CTRL+SHIFT+,(逗号)。 |
使用鼠标放大特定区域。 | 按住鼠标右键,同时在你感兴趣的区域周围绘制一个矩形。 |
调整大小,以适应其窗口内的代码图。 | 从代码图工具栏上的“缩放”列表中选择“缩放到合适大小” 。 - 或 - 单击代码图工具栏上的“缩放到合适大小”图标。 键盘:按 CTRL+0(零)。 |
按名称在代码图上查找节点。 提示:这只对代码图上的项有效。 若要查找在解决方案中但不在代码图中的项,请在解决方案资源管理器中机进行查找,然后将其拖到代码图中。 (拖动你的选择,或在解决方案资源管理器工具栏上单击“在代码图上显示”) 。 | 1. 在代码图工具栏上选择“查找”图标(键盘:按 CTRL+F)以在代码图的右上角显示搜索框。 2. 键入项名称并按“返回”或单击“放大镜”图标。 符合搜索的第一项将在代码图上显示为选中状态。 3. 若要自定义你的搜索,请打开下拉列表,并选择一个搜索选项。 选项为“查找下一个”、“查找上一个”和“全选” 。 然后单击搜索文本框旁边的相应按钮。 或者,使用键盘:按 F3 以选择下一个匹配节点或按 SHIFT+F3 选择上一个匹配节点 。 4. 通过单击搜索文本框下的图标,选择任意一个指定搜索词处理方式的选项。 选项为从左到右、匹配大小写、仅全字匹配、使用 .NET 正则表达式语法以及自动展开组以显示匹配的包含项。 重要提示:只有当这些组之前曾展开过,才可以使用搜索框在折叠组中查找匹配。 若要查找这些匹配并自动展开其父组,选择搜索框下的这个选项。 |
选择所有未选定节点。 | 打开所选节点的快捷菜单。 选择“选择”、“反向选择” 。 |
选择链接到所选节点的其他节点。 | 打开所选节点的快捷菜单。 选择“选择”和以下其中之一: - 若要选择直接链接到所选节点的其他节点,请选择“传入依赖项”。 - 若要选择从所选节点直接链接的其他节点,请选择“传出依赖项”。 - 若要选择与所选节点直接相互链接的其他节点,请选择“两者”。 - 若要选择与所选节点相互链接的所有节点,请选择“已连接子关系图”。 - 若要选择所选节点的所有子节点,请选择“子级”。 |
筛选节点和链接
To | 执行以下步骤 |
---|---|
显示或隐藏“筛选器”窗格。 | 选择代码图工具栏上的“筛选器”按钮。 默认情况下,“筛选器”窗格在“解决方案资源管理器”中显示为选项卡页 。 |
筛选显示在代码图上的节点类型。 | 在“筛选器”窗格的“代码元素”列表中设置或清除复选框。 |
筛选显示在代码图上的连接类型。 | 在“筛选器”窗格的“关系”列表中设置或清除复选框。 |
在代码图上显示或隐藏测试项目节点。 | 设置或清除“筛选器”窗格“杂项”列表中的“测试资产”复选框 。 |
代码图“图例”面板中显示的图标反映出你在列表中所做的设置。 要显示或隐藏“图例”面板,请单击代码图工具栏上的“图例”按钮。
检查节点和链接
代码图显示这些类型的链接:
单个链接表示两个节点之间的单一关系。
跨组链接表示不同组中的两个节点之间的关系。
聚合链接表示两个组之间所有指向同一方向的关系。
提示
默认情况下,代码图仅对所选节点显示跨组链接。 若要更改此行为以显示或隐藏组间的聚合链接,请单击代码图工具栏上的“布局”并选择“高级”,然后选择“显示所有跨组链接”或“隐藏所有跨组链接” 。 有关详细信息,请参阅隐藏或显示节点和链接。
To | 执行以下步骤 |
---|---|
查看有关某一节点或链接的详细信息。 | 将鼠标指针移至节点或链接上,直至出现工具提示。 聚合链接的工具提示将列出其所代表的各个依赖项。 - 或 - 打开节点或链接的快捷菜单。 依次选择“编辑”、“属性” 。 |
显示或隐藏组的内容。 | - 若要展开组,请打开节点的快捷菜单,然后依次选择“组”、“展开”。 - 或 - 将鼠标指针移动至节点上方,直至出现 V 形(下箭头)按钮。 单击此按钮以展开该组。 键盘:若要展开或折叠选定的组,请按 PLUS 键 (+) 或 MINUS 键 (-)。 - 若要折叠组,请打开节点的快捷菜单,然后依次选择“组”、“折叠”。 - 或 - 将鼠标指针移动至组上方,直至出现 V 形(上箭头)按钮。 单击此按钮以折叠该组。 - 若要展开所有组,请按 CTRL + A 以选择所有节点。 打开代码图的快捷菜单,然后依次选择“组”、“展开” 。 注意:如果展开所有组生成了不可用的代码图或产生了内存问题,则此命令不可用。 建议仅将代码图展开至你关心的详细程度。 - 若要折叠所有组,请打开节点或代码图的快捷菜单。 依次选择“组”、“全部折叠” 。 |
请参阅命名空间、类型或成员的代码定义。 | 打开节点的快捷菜单,然后选择“转到定义”。 -或- 双击该节点。 对于已展开的组,双击组的标头。 -或- 选择节点,然后按 F12。 例如: - 对于包含了一个类的命名空间,该类的代码文件将打开以显示此类的定义。 在其他情况下,“查找符号结果”窗口将显示代码文件列表。 注意:在 Visual Basic 命名空间上执行此任务时,该命名空间后的代码文件不会打开。 在包括 Visual Basic 命名空间在内的一组所选节点上执行此任务时也会出现该问题。 若要解决此问题,请手动浏览命名空间后的代码文件,或从你的选择中忽略命名空间的节点。 - 对于类或分部类,该类的代码文件将打开以显示类定义。 - 对于方法,父类的代码文件将打开以显示方法定义。 |
检查依赖项和参与聚合链接的项。 | 选择你感兴趣的链接,并打开所选内容的快捷菜单。 选择“显示参与链接”或“在新代码图上显示参与链接”。 Visual Studio 将展开位于链接两端的组,且仅显示参与链接的项和依赖项。 注意:在检查分部组的项之间的依赖项时,可能会看到这种行为:
|
检查不同组中多个节点之间的依赖关系。 | 展开组,以便你可以看到其所有子级。 选择包括其子级在内的,你感兴趣的所有节点。 代码图显示所选的节点之间的跨组链接。 若要选择组中的所有节点,在按住 SHIFT 和鼠标左键的同时在组周围绘制一个矩形。 若要选择代码图上的所有节点,请按 CTRL+A 。 提示:若要始终显示跨组链接,请选择代码图工具栏上的“布局”,然后依次选择“高级”、“显示所有跨组链接”。 |
请参阅节点或链接引用的项。 | 打开节点的快捷菜单,然后选择“查找所有引用”。 注意:仅当代码图的 .dgml 文件中的节点或链接设置了 Reference 特性时适用。 若要从节点或链接添加对项的引用,请参阅通过编辑 DGML 文件自定义代码图。 |
隐藏或显示节点和链路
隐藏节点将阻止节点参与布局算法。 默认情况下,将隐藏跨组链接。 跨组链接是连接跨组节点的单个链接。 如果组处于折叠状态,则代码图会将所有跨组链接聚合为组之间的单个链接。 当你展开一个组并选择该组内的节点时,跨组链接将出现并将显示组内的依赖项。
注意
在你与使用 Visual Studio Professional 的用户共享在 Visual Studio Enterprise 中创建的代码图之前,请确保取消隐藏你希望其他人看到的所有节点或跨组链接。 否则,这些用户将无法取消隐藏这些项目。
隐藏或显示节点
To | 执行以下步骤 |
---|---|
隐藏所选节点。 | 1. 选择要隐藏的节点。 2. 打开所选节点或代码图的快捷菜单。 依次选择“选择”、“隐藏所选内容” 。 |
隐藏未选定节点。 | 1. 选择要保持可见的节点。 2. 打开所选节点或代码图的快捷菜单。 依次选择“选择”、“隐藏未选内容” 。 |
显示隐藏节点。 | - 若要显示组内的所有隐藏节点,请先确保展开组。 打开快捷菜单,然后依次选择“选择”、“取消隐藏子级” 。 - 或 - 单击组左上角的“取消隐藏子级”(仅在有隐藏的子节点时可见)。 - 若要显示所有隐藏的节点,打开代码图或节点的快捷菜单,然后依次选择“选择”、“全部取消隐藏”。 |
隐藏或显示链接
To | 在代码图工具栏上,选择“布局”,“高级”,然后选择 |
---|---|
始终显示跨组链接。 | 显示所有跨组链接。 这将隐藏组之间的聚合链接。 |
始终隐藏跨组链接。 | 隐藏所有跨组链接 |
仅显示所选节点的跨组链接。 | 显示所选节点的跨组链接 |
隐藏所有链接。 | 隐藏所有链接。 若要再次显示链接,请选择上述选项之一。 |
组节点
To | 执行以下步骤 |
---|---|
将容器节点显示为组节点或叶节点。 | 若要将容器节点显示为叶节点:选择这些节点,打开所选节点的快捷菜单,然后依次选择“组”、“转换为叶” 。 若要将容器节点显示为组节点:选择这些节点,打开所选节点的快捷菜单,然后依次选择“组”、“转换为组” 。 |
更改组内部的布局。 | 选择该组,打开快捷菜单,选择“布局”,然后选择所需的布局样式。 - 或 - 1. 选择该组,并确保其处于展开状态。 2. 再次单击组标头,会出现组工具栏。 3. 打开“更改组布局样式”列表,然后选择所需的布局样式。 “列表视图”将组成员重新排列为列表。 “关系图默认值”将组布局重置为代码图的默认布局。 有关其他选项,请参阅更改代码图布局。 |
将节点添加到组。 | 将节点拖至组上。 拖动该节点时,Visual Studio 会显示一个指示器以显示你正在移动该节点。 你还可以将节点拖出组。 |
将节点添加到非组节点。 | 将节点拖至目标节点上。 通过向其添加节点,你可以将任何目标节点转换为组。 |
将选定节点进行分组。 | 1. 选择要分组的节点。 弹出窗口工具栏会出现在你选择的最后一个节点上。 2. 在工具栏上,选择第四个图标“将选定节点进行分组”(如果节点已展开,则显示的图标为五个,而非四个)。 键入新组的名称,然后按“返回”。 - 或 - 选择你想要进行分组的节点,然后打开所选节点的快捷菜单。 依次选择“组”、“添加父组”,键入新组的名称,然后按“返回” 。 你可以重命名组。 打开组快捷菜单,然后依次选择“编辑”、“属性”以打开 Visual Studio 属性窗口 。 根据需要,在“标签”属性中重命名该组。 |
移除组。 | 选择你要移除的一个或多个组。 打开所选内容的快捷菜单,选择“组”、“移除组” 。 |
从其父组中移除节点。 | 选择要移动的节点。 打开所选内容的快捷菜单,依次选择“组”、“从父级移除” 。 这会移除节点,直至其祖父级,或者,如果其没有祖父组,则移除组外部的节点。 - 或 - 选择节点并将其拖出组。 |
添加、删除或重命名节点、链接和注释
可以在代码图上显示更多或更少项,以便向下钻取或简化代码图。 你也可以重命名项,并将注释添加到项。
注意
在你与使用 Visual Professional 的用户共享使用 Visual Studio Enterprise 创建的代码图之前,请确保你希望其他人看到的代码元素在代码图上可见。 否则,这些用户将无法检索已删除的代码元素。
为代码元素添加节点
To | 执行以下步骤 |
---|---|
在当前鼠标指针位置添加一个新的一般节点。 | 1. 将鼠标指针移动到的代码图上你想要放置新代码元素的位置,并按“插入”。 - 或 - 打开代码图的快捷菜单,然后依次选择“编辑”、“添加”、“一般节点” 。 2. 键入新节点的名称,然后按“返回”。 |
在当前鼠标指针位置添加特定类型的代码元素节点。 | 1. 将鼠标指针移动到代码图上你想要放置新代码元素的位置,并打开代码图的快捷菜单。 2. 依次选择“编辑”、“添加”,然后选择所需的节点类型。 3. 键入新节点的名称,然后按“返回”。 |
向组中添加一个一般或特定类型的代码元素节点。 | 1. 选择组节点,然后打开快捷菜单。 2. 依次选择“编辑”、“添加”,然后选择所需的节点类型。 3. 键入新节点的名称,然后按“返回”。 |
添加一个链接自现有节点的同类型的新节点。 | 1. 选择代码元素。 其上方会出现一个弹出窗口工具栏。 2. 在工具栏上,选择第二个图标“创建与此节点的类别相同的节点并添加指向它的链接”。 3. 在代码图上选择一个位置放置新代码元素,并单击鼠标左键。 4. 键入新节点的名称,然后按“返回”。 |
添加一个新的一般节点,其链接自具有焦点的现有代码元素。 | 1. 使用键盘,按 Tab 直到选中(虚框)要从其中链接的代码元素为止。 2. 按 Alt+Insert。 3. 键入新节点的名称,然后按“返回”。 |
添加一个新的一般节点,其将链接至具有焦点的现有代码元素。 | 1. 使用键盘,按 Tab 直到选中(虚框)要链接的代码元素为止。 2. 按 Alt+Shift+Insert。 3. 键入新节点的名称,然后按“返回”。 |
为以下情况添加代码元素 | 执行以下步骤 |
---|---|
解决方案中的代码元素。 | 1. 查找解决方案资源管理器中的代码元素。 使用解决方案资源管理器搜索框或浏览解决方案。 提示:若要查找具有类型或成员依赖项的代码元素,请在解决方案资源管理器中打开类型或成员的快捷菜单。 选择你感兴趣的关系。 解决方案资源管理器仅显示具有指定依赖项的代码元素。 2. 将你感兴趣的代码元素拖动到代码图图面。 你也可以从“类视图”或“对象浏览器”拖动代码元素。 - 或 - 在解决方案资源管理器中,选择要映射的代码元素。 然后在解决方案资源管理器工具栏上单击“在代码图上显示” 。 默认情况下,新代码元素的父容器层次结构会显示在代码图上。 使用代码图工具栏上的“包括父级”按钮来更改此行为。 关闭时,只有代码元素本身会被添加到代码图中。 若仅为一次拖动操作反转此行为,请在将代码元素拖动到代码图的同时按住 CTRL 键。 Visual Studio 将为你的选定内容中的顶级代码元素项添加代码元素。 若要查看一个代码元素是否包含其他代码元素,请将鼠标指针移动到代码元素上,以便显示 V 形(下箭头)。 选择 V 形以展开代码元素。 若要展开所有代码元素,按 CTRL+A 可选择所有元素,打开代码图的快捷菜单,然后依次选择“组”、“展开” 。 如果展开所有组可能产生不可用的代码图或导致内存不足问题,则此命令不可用。 |
代码元素与代码图上的代码元素相关。 | 单击代码图工具栏上的“显示相关内容”按钮,然后选择你感兴趣的相关项的类型。 - 或 - 打开代码元素的快捷菜单。 根据你感兴趣的关系类型,在菜单上选择“显示…”项之一。 例如,你可以看到当前项引用的项、引用当前项的项、类的基类型和派生类型、方法调用方、包含类、命名空间和程序集。 有关详细信息,请参阅本主题。 |
编译 .NET 程序集(.dll 或 .exe)或二进制文件。 | 将程序集或二进制文件从 Visual Studio 外部拖至代码图。 仅当在相同的用户访问控制 (UAC) 权限级别运行 Windows 资源管理器或文件资源管理器和 Visual Studio 时,才能从 Windows 资源管理器或文件资源管理器拖动。 例如,如果启用了 UAC,并且你正以管理员身份运行 Visual Studio,则 Windows 资源管理器或文件资源管理器将阻止拖动操作。 |
添加现有代码元素之间的链接
选择源代码元素。 代码元素的上方会出现一个工具栏。
在工具栏上,选择第一个图标“创建从此节点到你接下来单击的任意节点的新链接”。
选择目标代码元素。 链接将出现在两个代码元素之间。
或者
在代码图上选择源代码元素。
如果你安装了鼠标,将鼠标指针移动到代码图的边界外。
打开代码元素的快捷菜单,然后选择“编辑”>“添加”>“一般链接” 。
用 Tab 键移动并为该链接选择目标代码元素。
按 Enter。
向代码图上的现有节点中添加注释
选择代码元素。 在其上方会出现一个工具栏。
在工具栏上,选择第三个图标“使用指向所选节点的新链接创建新的注释节点”。
- 或 -
打开代码元素的快捷菜单,然后选择“编辑”>“新注释” 。
键入你的注释。 若要键入新行,请按 Shift + Enter 。
向代码图本身中添加注释
打开代码图的快捷菜单,然后选择“编辑”>“新注释” 。
键入你的注释。 若要键入新行,请按 Shift + Enter 。
重命名代码元素或链接
选择想要重命名的代码元素或链接。
按 F2 或打开快捷菜单并选择“编辑”>“重命名” 。
当编辑框在代码图中出现时,重合名代码元素或链接。
或者
打开快捷菜单并选择“编辑”>“重命名” 。
在 Visual Studio 属性窗口编辑“标签”属性。
从代码图中删除的代码元素或链接
选择代码元素或链接,然后按“删除”键。
- 或 -
打开代码元素或链接的快捷菜单,然后选择“编辑”>“删除” 。
如果元素或链接是组的一部分,则组内将显示“重新提取子级”按钮。 单击它可以检索缺少的元素和链接。
你可以从代码图中移除代码元素和链接,而不会影响基础代码。 删除他们时,将从 DGML (.dgml) 文件中删除其定义。
通过编辑 DGML、添加未定义的代码元素或通过使用某些早期版本的 Visual Studio 创建的代码图不支持此功能。
为跟进工作标记代码元素
选择想要标记为跟进工作的代码元素或链接。
打开快捷菜单并选择“编辑”>“标记为跟进工作” 。
默认情况下,代码元素会获得红色背景。 请考虑使用适当的跟进工作信息向其添加注释。
更改元素的背景色,或通过选择“编辑”>“其他标志颜色”来清除跟进工作标志 。
更改代码元素或链接的样式
你可以使用预定义的图标和颜色,更改代码元素上的图标以及代码元素和链接的颜色。 例如,你可以选择一种颜色来突出显示具有特定类别或属性的代码元素和链接。 这样,你将可标识和重点显示代码图的特定区域。 通过编辑代码图的 .dgml 文件,指定自定义图标和颜色;请参阅通过编辑 DGML 文件自定义代码图。
将预定义的颜色或图标应用于具有特定类别或属性的代码元素或连接
在代码图工具栏上,选择“图例”。
在“图例”框中,确定代码元素类别或属性是否已经显示在列表中。
如果列表不包含类别或属性,请选择“图例”框中的 +,然后选择“节点属性”、“节点类别”、“链接属性”或“链接类别”。 然后选择属性或类别。 类别或属性将立即出现在“图例”框中。
备注
若要向代码元素创建并分配类别或属性,你可以编辑代码图的 .dgml 文件;请参阅通过编辑 DGML 文件自定义代码图。
在“图例”框中,单击你添加的或想要更改的类别或属性旁边的图标。
使用下表来选择要更改的样式:
若要更改 Choose 背景色 背景 轮廓颜色 笔划 文本颜色(出现字母“f”以显示结果) 前景 图标 图标 “颜色集选取器”或“图标集选取器”框将显示,以供你选择一种颜色或图标 。
在“颜色集选取器”或“图标集选取器”对话框中,执行下列操作之一 :
若要应用 执行以下步骤 颜色集或图标集 打开“选择颜色集”(或“图标集”)列表 。 选择一组颜色或图标。 特定颜色或图标 打开类别或属性值列表。 选择颜色或图标。 备注
可以重新排列、删除或暂时禁用“图例”框中的样式。 请参阅编辑图例框。
编辑“图例”框
可以重新排列、删除或暂时禁用“图例”框中的样式:
打开“图例”框中样式的快捷菜单。
执行以下任务之一:
To Choose 停用代码元素 禁用 删除代码元素 删除 将样式上移 上移 将代码元素下移 “下移”
将样式从一个代码图复制到另一个代码图
确保“图例”框出现在源代码图上。 如果不可见,请在代码图工具栏上单击“图例”。
打开“图例”框的快捷菜单。 选择“复制图例”。
将图例粘贴到目标代码图上。
合并代码图
你可以通过在代码图间复制和粘贴代码元素来合并代码图。 如果代码元素标识符匹配,则粘贴代码元素的功能类似于合并操作。 若要使此任务更简单,请将要可视化的所有程序集或二进制文件放入同一个文件夹,以便每个程序集或二进制文件的完整路径与你要合并的每个代码图的相同。
或者,你可以将这些程序集或二进制文件从文件夹拖动到相同的代码图。