使用 Idea 的 Diagram 功能查看 UML 类图
Idea 是一款非常强大的开发工具,可以在项目中生成 UML 类图,来反映应用项目中类的关系以及类与方法的结构。可以更好地帮助我们进行一些程序设计、源码分析、问题排查等实际应用场景。下面我们就来看看如何使用 Idea 中的 Diagram 工具来生成、显示和分析 UML 类图。
在 Idea 中查看类图需要安装 UML 插件,若还未安装插件的请自行安装插件,并保证 UML 插件处于生效状态。
查看类图
你可以在想要查看的 Class 标签页中使用快捷键 Ctrl+Alt+Shift+U
查看类图。
也可以在 Class 标签页中或者 Class 文件上点击 右键
,依次选择 Diagrams -> Show Diagram -> Java Classes
。
Show Diagram 和 Show Diagram Popup 的区别是,前者使用 Tab 页打开类图页面,而后者使用 悬浮窗 打开类图页面。本文中以前者为示例,点击选项之后会得到类似以下的类图:
默认情况下,图中的箭头代表以下含义,图中线和字体的颜色可能会随着 Idea 使用主题的不同而改变。
该箭头表示类的实现(implements)关系
该箭头表示类的继承(extends)关系
该图案表示内部类的关系
- 其他关系箭头可参考 UML约定
选中某个类后右键选择 Jump to Source
选项或者按下快捷键 F4
,即可跳转至该类的源代码文件。
在类图中按 Ctrl+F12
可以查看图中类的列表并在它们之间导航。
如果觉得当前类图中的字太小,或者看不清,可以使用工具栏的放大按钮,也可以在类图上按住键盘上的 Alt
键,并移动鼠标,就会有放大镜的功能。
工具栏和菜单
Toolbar
要查看类的方法,字段和其他详细信息,可以点击类图编辑器顶部的工具栏按钮。
显示类的成员变量信息 。
显示类的构造方法。
显示类的方法信息。
显示类的属性信息。
显示类的内部类。
更改要显示元素的可见性级别(public | protected | package | all)。
更改文件的显示范围,比如 项目文件/非项目文件。
创建继承或实现的节点元素之间的链接。
显示所选类或程序包的依赖关系。
放大类图,或按
NumPad +
。缩小类图,或按
NumPad -
。恢复类图的实际大小。
自适应类图大小。
应用当前布局,该布局是从类图的上下文菜单(右键菜单)中选择的,或者按
F5
。将当前类图另存为UML文件。
将当前类图导出为图片。
打印当前类图的图片。
上下文菜单
也可以使用上下文菜单(类图Tab页中的右键菜单)来操作 Toolbar 中的功能,下面介绍几个 Toolbar 中没有的选项。
- New: 创建新的节点元素或成员,快捷键
Alt+Insert
。 - Add class to diagram: 将其他类添加到类图中,快捷键
Space
。 - Collapse nodes: 收缩所选类节点的类图,快捷键
C
。 - Expand nodes: 展开所选类节点的类图,快捷键
E
。
管理类图
显示类的详细信息
使用上方的工具栏或者右键菜单,可以选择需要显示的类的详细信息,可以选择显示类的成员变量,属性,构造方法,方法,内部类等信息,也可以控制可见性级别或者文件的显示范围。
添加类到类图
当我们还需要查看其它类与当前类图的关系时,可以将其添加到当前类图中来进行分析。
在类图中使用右键菜单中的 Add class to diagram
选项或者使用快捷键 Space
,在打开的搜索框中输入并选择想要添加的类,或者直接将类文件使用鼠标拖至类图中。如果想要添加的类在三方包中,可以勾选 Include non-project items
选择框后重新进行搜索。
下图表示新加的 AbstractPackageMojo
类继承自 AbstractDependencyFilterMojo
类。
从类图中删除类节点
在类图中有些类并不是我们想要关心的,或者说我们想让目前的类图更加精准分析自己想看到的类关系,我们可以直接选中类图中不想看到的类节点,然后直接使用键盘上的 delete
键删除即可。
查看实现类和父类
在类图中选中想查看的类节点,使用右键菜单中的 Show Parents
和 Show Implementations
选项,即可分别查看当前类的父类和实现类信息。
调整类图布局
使用类图中右键菜单中的 Layout
选项,再选择子菜单项,即可改变当前类图的显示布局,以更好的显示类图关系。
这个是我随便选的一个 Layout,大家可以根据实际情况选择不同的 Layout 使得类图更加清晰。