用 IntelliJ IDEA 也有不少时间了,结果出乎意料的令我满意,为什么从 Eclipse 转到 IntelliJ IDEA 呢?与其说 Eclipse 不好,我觉得不如说是 IntelliJ IDEA 太好了,很多时候它在不经意间自动做掉的一些小东西实在让我感觉贴心。当然,工具发挥效能的前提是我们能花时间去学习掌握它,本文列一些我个人最长用的快捷键,并附带解释下为什么常用。
0. Keymap: Mac OS X 10.5+
我是 Mac 用户,第一步我先推荐调整 Keymap,默认的组合感觉挺别扭的,例如我们都习惯于关闭 tab 为 cmd + w,可在默认 keymap 下,却是 cmd + F4,挺麻烦的,默认 keymap 下删除行为 cmd + Y,这样诡异的组合非常难记啊。如图调整为 Mac OS X 10.5+:
1. Open Class: ⌘ + O
这个不解释了,不能每次打开个类都去点目录树,对吧?
2. Go To Declaration: ⌘ + B 和 Go To Implementation: ⌘ + + B
在类之间跑来跑去,这两个键是免不了的,用面向对象语言则注定了你一会要看接口一会要看实现。
3. Recent Files: ⌘ + E
这个算是特别好用的key了,特别是你在两个文件来回编辑的时候,左手⌘ + E一下,右手小指接个回车就回到上一个编辑的文件了,不用记路径,不用记文件名,无脑快速操作,爽!
4. Go To / Create Test: ⌘ + + T
如果你不喜欢写单元测试请无视这一条。
如果你平时写单元测试,你就会懂我的心的,测试代码和产品代码间切来切去太方便了!
5. Open Javadoc: + J
这个不解释了,直接看图。
6. Quick Definition: + Space
这个也比较IMBA,如果要看的类或方法没有文档,就直接看源码,也适用于普通文本文件哦。例如我在POM中直接看某一个依赖的POM内容:
7. Refactor This: + J
如果你平时不重构代码,那先去面壁。好吧,其实重命名大家都会用的。重构的手法很多啊,除了最常用的重命名,我平时用的比较多的有,提取变量、内联变量、更改方法签名、提取方法、搬移方法等等…… 然后,一开始记下 + J 就好了,上下文菜单跳出来,想啥给啥。
再啰嗦几句,如果你发现用这个键比较少,那最好专门练习下重构。随着重构用得越来越多,你就会想用更直接点的重构快捷键了,比如提取方法是 ⌘ + + M (Method)。
8. Generate Code: ⌘ + N
生成代码,比如生成构造函数、生成Get/Set方法,虽然Java代码看起来挺啰嗦的,但其实你不需要敲多少的。创建新文件,新的类,新的包,也是这个键哦。
9. 上下文神Key: + Enter
说它是神Key,绝对是名副其实的,根据你光标所在的位置,它能提示你做各种合理的操作。放接口上敲 + Enter,它会说“亲?要不要生成一个实现类?”,放包声明上敲 + Enter,它会问“亲,要不要去掉那些无用的声明?”,在方法修饰符上敲 + Enter,它又问“亲,是不是要把public变成private?”…… 还有什么错别字修复,那更是小菜一碟。
10. 区块智能选择: + UP/DOWN
重构选择提取方法的时候,要选择代码块,是 if 语句呢的一块呢?还是包含 if 呢?还是再往上包含一个 for 循环呢?手动选这些代码块好麻烦且容易错,那就按住 然后上上下下地看吧。
当然,选单词的时候也挺有用的,可以避免用鼠标。
11. 运行当前范围测试: + + R
放测试类上按这组Key,就跑所有测试方法,如果放某个方法上按 + + R,就只运行当前测试方法,放package上按 + + R,就跑整个包的测试啦。
12. Find Usages: + F7
看代码的时候,不仅要看当前代码用了什么类什么方法,还经常要关心我这个类这个方法被谁用了。
最后
上述12组快捷键其实只覆盖了很小的一部分,还有一个组合键也挺有意思,⌘ + + A ,自己看看吧。