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