IDEA高效查看源码的快捷键及小技巧
基本操作
查看当前类的层次结构
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐⭐ | ctrl + h |
平时,我们阅读源码的时候,经常需要查看类的层次结构。就比如我们遇到抽象类或者接口的时候,经常需要查看其被哪些类实现。
拿 spring 源码为例,beandefinition
是一个关于 bean 属性/定义的接口。
public interface beandefinition extends attributeaccessor, beanmetadataelement { ...... }
如果我们需要查看 beandefinition
被哪些类实现的话,只需要把鼠标移动到 beandefinition
类名上,然后使用快捷键 ctrl + h
即可。
同理,如果你想查看接口 beandefinition
继承的接口 attributeaccessor
被哪些类实现的话,只需要把鼠标移动到 attributeaccessor
类名上,然后使用快捷键 ctrl + h
即可。
查看类结构
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐ |
alt + 7 (win) / command +7 (mac) |
类结构可以让我们快速了解到当前类的方法、变量/常量,非常使用!
我们在对应的类的任意位置使用快捷键 alt + 7
(win) / command +7
(mac)即可。
快速检索类
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐⭐ |
ctrl + n (win) / command + o (mac) |
使用快捷键 ctrl + n
(win) / command + o
(mac)可以快速检索类/文件。
关键字检索
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐⭐ | 见下文 |
- 当前文件下检索 :
ctrl + f
(win) /command + f
(mac) - 全局的文本检索 :
ctrl + shift + f
(win) /command + shift + f
(mac)
查看方法/类的实现类
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐ |
ctrl + alt + b (win) / command + alt + b (mac) |
如果我们想直接跳转到某个方法/类的实现类,直接在方法名或者类名上使用快捷键 ctrl + alt + b/鼠标左键
(win) / command + alt + b/鼠标左键
(mac) 即可。
如果对应的方法/类只有一个实现类的话,会直接跳转到对应的实现类。
比如 beandefinition
接口的 getbeanclassname()
方法只被 abstractbeandefinition
抽象类实现,我们对这个方法使用快捷键就可以直接跳转到 abstractbeandefinition
抽象类中对应的实现方法。
public interface beandefinition extends attributeaccessor, beanmetadataelement { @nullable string getbeanclassname(); ...... }
如果对应的方法/类有多个实现类的话,idea 会弹出一个选择框让你选择。
比如 beandefinition
接口的 getparentname()
方法就有多个不同的实现。
查看方法被使用的情况
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐ | alt + f7 |
我们可以通过直接在方法名上使用快捷键 alt + f7
来查看这个方法在哪些地方被调用过。
查看最近使用的文件
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐⭐ |
ctrl + e (win) / command +e (mac) |
你可以通过快捷键 ctrl + e
(win) / command +e
(mac)来显示 idea 最近使用的一些文件。
查看图表形式的类继承链
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐ | 相关快捷键较多,不建议记 |
点击类名 右键 ,选择 shw diagrams 即可查看图表形式的类继承链。
你还可以对图表进行一些操作。比如,你可以点击图表中具体的类 右键,然后选择显示它的实现类或者父类。
再比如你还可以选择是否显示类中的属性、方法、内部类等等信息。
如果你想跳转到对应类的源码的话,直接点击图表中具体的类 右键 ,然后选择 jump to source 。
插件推荐
一键生成方法的序列图
序列图(sequence diagram),亦称为循序图,是一种 uml 行为图。表示系统执行某个方法/操作(如登录操作)时,对象之间的顺序调用关系。
这个顺序调用关系可以这样理解:你需要执行系统中某个对象 a 提供的方法/操作 login(登录),但是这个对象又依赖了对象 b 提供的方法 getuser(获取用户)。因此,这里就有了 a -> b 调用关系之说。
我们可以通过 sequencediagram
这个插件一键生成方法的序列图。
如果你因为网络问题没办法使用 idea 自带的插件市场的话,也可以通过 idea 插件市场的官网手动下载安装。
如何使用呢?
1、选中方法名(注意不要选类名),然后点击鼠标右键,选择 sequence diagram 选项即可!
2、配置生成的序列图的一些基本的参数比如调用深度之后,我们点击 ok 即可!
3、你还可以通过生成的时序图来定位到相关的代码,这对于我们阅读源码的时候尤其有帮助!
4、时序图生成完成之后,你还可以选择将其导出为图片。