使用 Idea 的 Diagram 功能查看 UML 类图

本文介绍如何使用IntelliJ IDEA生成和分析UML类图,包括安装UML插件、查看类图、调整布局及管理类图等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 Idea 的 Diagram 功能查看 UML 类图

Idea 是一款非常强大的开发工具,可以在项目中生成 UML 类图,来反映应用项目中类的关系以及类与方法的结构。可以更好地帮助我们进行一些程序设计、源码分析、问题排查等实际应用场景。下面我们就来看看如何使用 Idea 中的 Diagram 工具来生成、显示和分析 UML 类图。

在 Idea 中查看类图需要安装 UML 插件,若还未安装插件的请自行安装插件,并保证 UML 插件处于生效状态。

UML plugin

查看类图

你可以在想要查看的 Class 标签页中使用快捷键 Ctrl+Alt+Shift+U 查看类图。

也可以在 Class 标签页中或者 Class 文件上点击 右键,依次选择 Diagrams -> Show Diagram -> Java Classes

show diagram2

show diagram1

Show DiagramShow Diagram Popup 的区别是,前者使用 Tab 页打开类图页面,而后者使用 悬浮窗 打开类图页面。本文中以前者为示例,点击选项之后会得到类似以下的类图:

class uml

默认情况下,图中的箭头代表以下含义,图中线和字体的颜色可能会随着 Idea 使用主题的不同而改变。

  • implements该箭头表示类的实现(implements)关系
  • extends该箭头表示类的继承(extends)关系
  • inner_class该图案表示内部类的关系
  • 其他关系箭头可参考 UML约定

选中某个类后右键选择 Jump to Source 选项或者按下快捷键 F4 ,即可跳转至该类的源代码文件。

在类图中按 Ctrl+F12 可以查看图中类的列表并在它们之间导航。

如果觉得当前类图中的字太小,或者看不清,可以使用工具栏的放大按钮,也可以在类图上按住键盘上的 Alt 键,并移动鼠标,就会有放大镜的功能。

class uml alt

工具栏和菜单

Toolbar

要查看类的方法,字段和其他详细信息,可以点击类图编辑器顶部的工具栏按钮。

  1. 显示类的成员变量信息 。
  2. 显示类的构造方法。
  3. 显示类的方法信息。
  4. 显示类的属性信息。
  5. 显示类的内部类。
  6. 更改要显示元素的可见性级别(public | protected | package | all)。
  7. 更改文件的显示范围,比如 项目文件/非项目文件。
  8. 创建继承实现的节点元素之间的链接。
  9. 显示所选类或程序包的依赖关系。
  10. 放大类图,或按NumPad +
  11. 缩小类图,或按NumPad -
  12. 恢复类图的实际大小。
  13. 自适应类图大小。
  14. 应用当前布局,该布局是从类图的上下文菜单(右键菜单)中选择的,或者按 F5
  15. 将当前类图另存为UML文件。
  16. 将当前类图导出为图片。
  17. 打印当前类图的图片。

上下文菜单

也可以使用上下文菜单(类图Tab页中的右键菜单)来操作 Toolbar 中的功能,下面介绍几个 Toolbar 中没有的选项。

  1. New: 创建新的节点元素或成员,快捷键 Alt+Insert
  2. Add class to diagram: 将其他类添加到类图中,快捷键 Space
  3. Collapse nodes: 收缩所选类节点的类图,快捷键 C
  4. Expand nodes: 展开所选类节点的类图,快捷键 E

管理类图

显示类的详细信息

使用上方的工具栏或者右键菜单,可以选择需要显示的类的详细信息,可以选择显示类的成员变量属性构造方法方法内部类等信息,也可以控制可见性级别或者文件的显示范围

show class details

添加类到类图

当我们还需要查看其它类与当前类图的关系时,可以将其添加到当前类图中来进行分析。

在类图中使用右键菜单中的 Add class to diagram 选项或者使用快捷键 Space ,在打开的搜索框中输入并选择想要添加的类,或者直接将类文件使用鼠标拖至类图中。如果想要添加的类在三方包中,可以勾选 Include non-project items 选择框后重新进行搜索。

add class search

下图表示新加的 AbstractPackageMojo 类继承自 AbstractDependencyFilterMojo 类。

class uml2

从类图中删除类节点

在类图中有些类并不是我们想要关心的,或者说我们想让目前的类图更加精准分析自己想看到的类关系,我们可以直接选中类图中不想看到的类节点,然后直接使用键盘上的 delete 键删除即可。

查看实现类和父类

在类图中选中想查看的类节点,使用右键菜单中的 Show ParentsShow Implementations 选项,即可分别查看当前类的父类和实现类信息。

show parents and implementations

show parents

show implementations

调整类图布局

使用类图中右键菜单中的 Layout 选项,再选择子菜单项,即可改变当前类图的显示布局,以更好的显示类图关系。

change layout

这个是我随便选的一个 Layout,大家可以根据实际情况选择不同的 Layout 使得类图更加清晰。

change layout2

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值