【IDEA一篇看懂】如何Diagrams看源码类图

【IDEA一篇看懂】如何Diagrams看源码类图

引言:在公司 ,特别对于我们刚入职公司,在看一个新系统的时候,特别是这个项目已经搭建的不错的时候,我们需要去熟悉这个系统,就像我们去阅读源码一样,去理解这个系统的大体功能,类之间的关系,之间的继承,这时候我们就要学会如何Diagrams看源码类图

如何使用

如何创建类继承图面板

在代码输入处new查看

【IDEA一篇看懂】如何Diagrams看源码类图
【IDEA一篇看懂】如何Diagrams看源码类图

  • 点击右键,选择 Diagrams,其中有 show 和 show … Popup,只是前者新建在标签页内,后者以浮窗的形式展示

  • 以new Set 为例,得到类继承图

【IDEA一篇看懂】如何Diagrams看源码类图

在标签或当前编辑标签查看

在你想查看的类的标签页内 或者 项目结构里面右键,选择 Diagrams,其中有 show 和 show … Popup,只是前者新建在标签页内,后者以浮窗的形式展示

【IDEA一篇看懂】如何Diagrams看源码类图

调整面板布局Layout

在类图上点击右键,选择Layout,在子菜单中可以调整排列效果,如下图:

【IDEA一篇看懂】如何Diagrams看源码类图
您可以选择一种适合自己的排列布局,例如Orthogonal Layout的效果如下图:

【IDEA一篇看懂】如何Diagrams看源码类图


面板使用

如何查看子类父类show

选中其中的某一个类或者接口,点击右键出现上下文选择菜单

  • 子类「Ctrl+Alt+B」
  • 父类「Ctrl+Alt+P」
    【IDEA一篇看懂】如何Diagrams看源码类图

此外,还有一种方式可以查看接口的所有实现类。在图中的某个类上边单击一下,然后 Ctrl + H,调出类层级关系。如图,选择这个按钮,显示所有子接口和实现类。上边也会有一行小字提示
【IDEA一篇看懂】如何Diagrams看源码类图


关系查看和删除delete

  • 关系查看

    • 实线箭头是指继承关系
    • 虚线箭头是指接口实现关系
  • 去掉不关心的类

    • 得到的继承关系图形,有些并不是我们想去了解的,怎么办?直接使用键盘上的delete键就行了

展示类的详细信息show categories

在页面点击右键,选择 show categories,根据需要可以展开类中的属性、方法、构造方法等等。当然,第二种方法也可以直接使用上面的工具栏

【IDEA一篇看懂】如何Diagrams看源码类图

工具栏按钮说明

【IDEA一篇看懂】如何Diagrams看源码类图

num 按钮 功能
1 Fields
2 Constructors 构造器
3 Method 方法
4 Properties 属性
5 Inner Class 内部类
6 Change Visibility Level 更改可见性级别
7 Change Scope 改变范围
8 Edge Creation Mode 边缘创建模式
9 Show Dependencies 显示依赖关系
Apply Current Layout(F5) 应用当前布局

根据权限筛选范围Change Visibility Level

方法里你还想筛选,比如说想看protected权限及以上范围的?简单,右键选择 Change Visibility Level,根据需要调整即可

【IDEA一篇看懂】如何Diagrams看源码类图


加入其他类到关系中Add Class to Diagram

当我们还需要查看其他类和当前类是否有继承上的关系的时候,我们可以选择加其加入到当前的继承关系图形中来。

页面点击右键,选择 Add Class to Diagram或者直接敲空格,然后输入你想加入的类就可以了

【IDEA一篇看懂】如何Diagrams看源码类图
【IDEA一篇看懂】如何Diagrams看源码类图


进入源码查看Jump to Source

如果你想查看某个类中,比如某个方法的具体源码,当然,不可能给你展现在图形上了

但是可以利用图形,或者配合IDEA的structure方便快捷地进入某个类的源码进行查看。

双击某个类后,你就可以在其下的方法列表中游走,对于你想查看的方法,选中后点击右键,选择 Jump to Source或者点击该类后按下F4键即可:

【IDEA一篇看懂】如何Diagrams看源码类图
在进入某个类后,如果还想快速地查看该类的其他方法,还可以利用IDEA提供的structure功能:

【IDEA一篇看懂】如何Diagrams看源码类图

选择左侧栏的structure之后,如上图左侧会展示该类中的所有方法,点击哪个方法,页面内容就会跳转到该方法部分去


学习和查看类关系,了解诸如主流框架源码之类的东西,使用这些功能可以说是非常舒服了~

–end