提升使用IDEA进行源码浏览的效率:30个实用技巧与快捷键分享
基本操作
在这一部分中,我将分享我在查看源代码时常用的一些快捷键和小技巧,它们能显著提升你的阅读效率。
掌握这些快捷键和小技巧后,你的源码阅读效率将大幅提升!
查看当前类的层次结构
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐⭐ | Ctrl + H |
在阅读源码时,我们常常需要检查类的层次结构,特别是当我们遇到抽象类或接口时,了解其实现类非常有必要。例如,在Spring源码中,BeanDefinition
是一个与Bean属性和定义相关的接口。
public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement {
......
}
如果想要查看BeanDefinition
被哪些类实现,只需将鼠标悬停在BeanDefinition
类名上,然后按下快捷键Ctrl + H
即可。
同样,如果需要了解接口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)。
如果该方法或类只有一个实现,IDEA将直接跳转到相应的实现类。
例如,BeanDefinition
接口的getBeanClassName()
方法仅由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最近使用的一些文件。
查看图表形式的类继承链
使用频率 | 相关快捷键 |
---|---|
⭐⭐⭐⭐ | 相关快捷键较多,不建议记 |
通过右键点击类名,选择Show Diagrams即可查看图表形式的类继承链。
在图表中,你可以右键点击具体的类,选择查看其实现类或父类。
同样,你还可以选择是否显示类中的属性、方法和内部类等信息。
如果想要跳转到某个类的源码,直接右键点击图表中的类,选择Jump to Source。
插件推荐
一键生成方法的序列图
序列图(Sequence Diagram)是UML中的一种行为图,显示系统在执行某个方法或操作时,对象之间的顺序调用关系。
例如,当你需要执行某个对象a
的login
方法(登录),而这个方法又依赖对象b
的getUser
方法(获取用户),这就形成了a -> b
的调用关系。
使用SequenceDiagram插件,可以一键生成方法的序列图。
如果因网络原因无法使用IDEA自带的插件市场,也可以手动从IDEA插件市场官网下载并安装。
如何使用呢?
- 选择方法名(切勿选中类名),然后右键点击,选择Sequence Diagram选项即可!
- 配置生成序列图的基本参数,例如调用深度,然后点击确定。
- 生成的时序图可以帮助定位相关代码,这对阅读源码尤其有益!
- 完成后,你还可以将生成的时序图导出为图片。
项目代码统计
为了快速分析项目情况,我们可以统计项目的总代码行数、单个文件的代码行数、注释行数等信息。
使用Statistic插件,能够帮助我们实现这一目标。
借助这个插件,你可以直观地查看项目中各种文件的信息,包括数量和大小等,这将帮助你更好地了解项目。
此外,你还能查看所有类的总行数、有效代码行数、注释行数以及有效代码比例等信息。
如果担心插件过多会影响IDEA的速度,可以在需要进行代码统计时启用该插件,平时则可将其禁用。