eclipse查看源码_用 IDEA 跟踪 Java 源码的技巧 | 内部资料

170c056c5429ff87ed8ccbd13f06e12e.png

之前关于 IDEA 的文章,我已经写了三篇,没想到挺受大家喜欢的。读本文前,可以先读一下我之前写的这几篇文章来提前做个热身。

谈谈我与 Intellij IDEA 的故事

Intellij IDEA 中我一直在用的几个插件

IDEA 2018.3 EAP,我只看好你这四个功能!

其实不乏有读者问我,如何才能熟练的掌握 IDEA?我跟他说,如果某天你真的关掉了 Tab 页,习惯用 Ctrl + E 快捷键,那么你算开始入门了。

长期关注我的读者,应该知道我前几天写的《怎么读 Tomcat 源码?》,该文只是教你把 Tomcat 的开发环境搭建起来,并没有指导你怎么来读源码。正好这几天跟群里的同学讨论如何利用 IDEA 来跟踪源码,我正好用这篇文章来总结一下。

还是那句话,拿起键盘就是

本文还是以 Tomcat 源码为例。

生成类继承图

先给各位读者看下面这张类继承图,也是我之前所写的一篇文章中提到过的《工作五年难道必须要读源码吗?》,是不是一目了然。

2cb02b75c0dadf636acd691d09fb2c55.png

怎么生成呢?在你所在的类里面点击右键,会出现上下文菜单 Diagrams | Show Diagram,或者快捷键 Ctrl+Alt+Shift+U,便会进入一个类继承图面板。

8822628eb7eaf52d10c0bee0ea65fd6d.png

其实,在群里有读者说,该功能一次只显示一个类,很不方便,可不可以在同一个面板内显示更多的类呢?可以明确的告诉你,是可以的。有两种方式可供参考。

一是,对于项目不熟悉的情况下,选中其中的某一个类或者接口,点击右键出现上下文选择菜单,选择自己的子类「Ctrl+Alt+B」或者父类「Ctrl+Alt+P」即可。

f12d11a9aa90909fc7a3f5eb98f3acdc.png

二是,对项目熟悉的情况下,直接敲空格,搜索你需要添加的类到面板即可。

对于我而言,我还是喜欢 IDEA 这种生成类图的方式,让我专注于目前的某一个类或者某几个类。那可不可以显示整个项目的类图呢?是可以的,但需要利用 IDEA 的插件 —— CodeIris「见下图」。

23886e27388c6ae53d59d87a534dc0bb.png
官网地址: http:// plugin.codeiris.com

到底好不好用?感觉上还不错,毕竟这个插件我用的少,不做过多评论,这里可以看一个老外的评论。

1ec6174afff1bb070cb477d59a7506d8.png

关于类图的生成工具都是次要的,主要在于它能帮助我们直观的分析这个类的关系以及项目的整体结构。

查看类

上面已经说了查看类继承图关系的方法,其实我们还有另一种方式来查看,那就是 Ctrl + H 快捷键。

b47a77b3da528c2b6958fbc3a8090d33.png

如果你要查看一个类里面定义的变量在那些地方被调用,那么需要掌握一下 Ctrl+Alt+F7 这个快捷键,是不是一目了然。

862995706f1035753f763d2c1955c924.png

如果你要看一个类里面有那些方法,有两个快捷键可供选择 Alt+7 或者 Ctrl+F12,而我更喜欢 Ctrl+F12。

24d0207079d8b72f6035864571b46f93.png

有时候,我们需要看一个类/方法的实现类/方法,这时,我们需要用 Ctrl+Alt+B 这个快捷键。

849b11ec8bb2bf891cba662422527c28.png

如果你需要查看某个方法的调用链关系,那么就请记住这个快捷键 Ctrl+Alt+H 吧,请注意图中红色的标注部分。

c99cac61f3e8dad02d93c863987c8d85.png

其实查看某个方法被那些地方调用,还有一个快捷键 Ctrl+B。

fe414d7f61b5771b8aada572165607b4.png

最有意思的是,在跟读者聊天中,一个读者说,跳过去了,但是跳不回来了,尴尬。。。

其实跳回来也是有快捷键的 Ctrl+Alt+左方向键,你还可以试试右方向键。

调试

当你成为程序员第一天开始,这个技巧就是你必须要掌握的,我在这里说几点我常用的技巧吧。

关于源码阅读的时候,我习惯用一个万能方法,也许会帮助到你,不清楚的地方就打印调用栈信息,详情如下。

f31cea24af44bf046a27c8e927354635.png

IDEA 调试中有一个牛逼的功能,那便是计算表达式 Alt+F8,见下图。

cad0a9f338656e46b8906680f6ea04e1.png

有没有觉得很屌?

其实 IDEA 还有很多细节的地方做得特别棒,需要你慢慢琢磨。之前我们群里一个同学以为找到了一个 IDEA 的 bug,后来,发现那不是 bug,只是我们不会用它而已《Struts,你为何死不悔改!》。

好了,今天的分享就到这里了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值