【开发】IDEA的Diagram这些功能你了解吗?

简介: 最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。

这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享。

# 查看图形形式的继承链

在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示:

B956124C_6A2D_4937_9400_EADE62C96C5D

实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择Diagrams,效果是一样的:

464D2BB7_03A9_4132_9AA5_B432ED683EEC

然后你就会得到如下图所示的继承关系图形,以自定义的Servlet为例:

5A9CBAE9_6FED_4bc0_9F9A_ABE4E2BD9D53

显而易见的是:

  • 蓝色实线箭头是指继承关系
  • 绿色虚线箭头是指接口实现关系

# 优化继承链图形,想我所想

1 去掉不关心的类

得到的继承关系图形,有些并不是我们想去了解的,比如上图的Object和Serializable,我们只想关心Servlet重要的那几个继承关系,怎么办?

简单,删掉。点击选择你想要删除的类,然后直接使用键盘上的delete键就行了。清理其他类的关系后图形如下:

B8FF8D06_B1EF_4ce4_979E_62C06281D367

2 展示类的详细信息

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

DD84F926_BBAC_417d_A943_E85335201A63

然后你就会得到:

7A132273_93DF_48ef_A932_3E7FE367BA66

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

9619BFE3_70AD_476f_AE1B_20BBB0430823

什么,你嫌图形太小你看不清楚?IDEA也可以满足你,按住键盘的Alt,竟然出现了放大镜,惊不惊喜,意不意外?

8BBC741A_CBDF_4ddf_B8A9_D0920030B94C

3 加入其他类到关系中来

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

在页面点击右键,选择 Add Class to Diagram,然后输入你想加入的类就可以了:

E2893F2E_D069_4b93_9497_4A3EB0131193

例如我们添加了一个Student类,如下图所示。好吧,并没有任何箭头,看来它和当前这几个类以及接口并没有发生什么不可描述的关系:

9584CCCA_E072_4e86_B08F_95F24247DAFC

4 查看具体代码

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

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

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

81D926FA_ED92_45c6_9D8D_7CEF7C8095D9

7D787280_113F_45c3_8397_8D21B6E944EA

在进入某个类后,如果还想快速地查看该类的其他方法,还可以利用IDEA提供的structure功能:

78EFEC30_C882_43b1_A779_E3B063372A79

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

# 最后

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

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-03-23
本文作者:Dulk
本文来自:“互联网架构师 微信公众号”,了解相关信息可以关注“互联网架构师

相关文章
|
2月前
IntelliJ IDEA 自定义控制台输出多颜色格式功能 --- 安装Grep Console插件
IntelliJ IDEA 自定义控制台输出多颜色格式功能 --- 安装Grep Console插件
|
6月前
|
开发框架 前端开发 Java
【IntelliJ IDEA】idea 实用功能Auto Import:自动优化导包(自动删除、导入包)
【IntelliJ IDEA】idea 实用功能Auto Import:自动优化导包(自动删除、导入包)
129 0
|
数据可视化 Java uml
IDEA这个功能真强大!一键把整个项目代码绘制成UML类图...
IDEA这个功能真强大!一键把整个项目代码绘制成UML类图...
1822 0
IDEA这个功能真强大!一键把整个项目代码绘制成UML类图...
|
4月前
|
SQL Java 关系型数据库
在IDEA中配置MySQL数据库连接以及在使用mybatis时设置sql语句的代码提示功能
在IDEA中配置MySQL数据库连接以及在使用mybatis时设置sql语句的代码提示功能
恕我直言,IDEA的这个分析功能,只有不到10%的程序员知道
最近,有同学问我,为什么你如此钟爱IDEA? 因为你越用越顺手,还能不断给你惊喜,让你乐此不疲的去挖掘它的功能。
|
6月前
|
SQL IDE Linux
IDEA:7个强大功能助你高效编码和优质工作!
IDEA:7个强大功能助你高效编码和优质工作!
35 0
|
6月前
|
程序员 开发工具 git
震精!IDEA不为人知的功能竟被鹅厂用400页IntelliJ文档讲清楚了
这就是为什么在这种情况下,编辑器是屏幕上唯一可见的,具有所有其他与编码无关的功能的专用快捷方式。而且IDEA代表集成开发环境。 它是多种工具的组合,使软件开发过程更容易,更健壮,更不容易出错,为了帮助开发人员组织他们的工作流程,IntelliJ IDEA为他们提供了一个惊人的工具集,包括反编译器,Docker支持,字节码查看器,FTP和许多其他工具
|
7月前
|
安全 IDE Java
IDEA快捷键总结和各种实用功能
IDEA快捷键总结和各种实用功能
122 1
|
9月前
|
Java Spring
【Springboot】idea中配置文件不生效、自动提示功能消失、小绿标不出现现象
【Springboot】idea中配置文件不生效、自动提示功能消失、小绿标不出现现象
419 0
|
12月前
|
存储 JSON 程序员
好用到爆!IDEA 版 Postman 面世了,功能真心强大
IDEA是最常用的开发工具,很多程序员都想把它打造成一站式开发平台,于是安装了各种各样的插件。最近发现了一款IDEA插件RestfulFastRequest,细节做的真心不错,说它是IDEA版的Postman也不为过,推荐给大家!