谈谈我与 Intellij IDEA 的故事
点击关注下方公众号,Java面试资料 都在这里
说到这款 IDEA,很早就想写一篇关于它的文章了,可不知从何处写起,刚好一位师弟问起我来,正好写一篇入门文章,本文的涉及的快捷键主要针对于 Windows系统「因大部分读者都在使用此系统」。
# 相识
IntelliJ IDEA 于 2001 年 1 月诞生,并在 3.0 版本之后屡次获得各类大奖,从而奠定了它在 IDEA 中地位。而我与它相识是在 12 年,那会儿我还在实验室里面用 eclipse 写 Java 代码,某天我们实验室的昆爷在用它,启动界面的那几只海豚,以及启动后那黑色极客风格的界面深深地吸引了我。在昆爷的指导下,慢慢喜欢上这款 IDEA。
说实话,如果你刚刚用它,还真不知道如何下手,因为它跟我们之前用的 eclipse 太不一样了。比如,你在这里可以忘掉 ctrl+s,无需担心代码保持和丢失;你可以同时打开多个工作空间「它没有工作空间的说法,这里便于 eclipse 的用户理解」。
# 相知
对它有深刻认识,是在 14 年读了 Jetbrains 首席布道师 Hadi 的文章「No Tabs in IntelliJ IDEA」,当时这篇文章中的技巧真的惊艳到我了,像操作 VIM 一样来操作它,基本上用快捷键和命令来操控一切,让你慢慢脱离了鼠标,提升编码速度。
# 实践出真知
接下来的内容,我主要谈谈我平时工作中是怎么使用它的。
你一定要牢记快捷键 ESC !!!
我喜欢极客范,大概跟我之前做过几年安全有关系吧,因此,你也可以跟我一样选择这个主题。
同样,你也可以为它设置一个背景图片。
便会出现下图如此炫酷的背景啦!
如果你想快速改变你刚刚设置的样式,有什么快捷键吗,是肯定有的,用 ctrl+`便能快速调出切换界面。
当你第一次打开它时,映入你眼前的便是如下 4 个醒目的快捷键「请记住它们,很重要」。
这里留一个思考题:你相过没,为什么偏偏这个四个快捷键显示在首页呢???
还记得上面我提到的布道师 Hadi 说「建议关掉 Tab 页,因为你根本用不上它」。为什么他要这么说呢?因为 Tab 页放在那里,我们每次找文件时都会去瞄一眼,看看文件在不在那里,如果在,我们便用鼠标点一下;这个操作重复次数多了,便会浪费很多时间的。要加快速度,只能「眼不见为净」^_^
有同学可能会问,关闭了 Tab 页,那我们怎么打开编辑的文本呢?还记得那四个快捷键吧,ctrl+e 正好解决了这个问题,它用于打开最近访问的文件。
其实,这里我更愿意推荐你用 ctrl+shift+e ,用于打开你最近编辑的文本。
还记得上面的 double shift 快捷键吗?在这里,我们可以用「double shift + /文件夹名」这个操作来跳转到特定的文件夹。
你有时候需要想快速定位到某个类的某行,便可以用ctrl+n「这里只会显示类文件」来实现。
如果你想定位到任意文件的某行,那么就需要用 ctrl+shift+n 来实现了。
如果你想在当前位置和刚才所在的位置之间来回移动:ctrl+alt+左箭头「回去」和ctrl+alt+右箭头「继续前进」。当然,如果您当前和以前的位置在不同的文件中,它们也会在它们之间来回传递。
既然你已经把 Tab 页给关闭了,那么导航栏也同样可以关闭了,没必要显示出来,只需要去掉钩。
要是你想临时显示的话,那么可以用首页显示的4个快捷键之一的 alt+home。
我不知道你是怎么移动分割线的,相信大多数读者还是用的鼠标在移动吧,其实我们可以用快捷键来移动。比如,用 alt+1 来聚焦到 project 视图,再用 ctrl+shift+左右箭头来移动分割线。
都说「好记性不如烂笔头」,它同样也为我们提供了书签「烂笔头」,f11 用于添加书签,shift+f11 显示书签。
如果用过 sublime ,你一定会记得它的多行编辑功能吧,同样,它也为我们提供了该功能,我们可以通过两种方式来操作:
alt+shift+insert 拖动鼠标选择;
ctrl+w 选中变量,alt+j选中要选择的多个相同变量;
这里,我随便找了一个 gif 的动画来供你参考。
Language Injection,这个功能确实很惊艳,说白了就是可以直接转义各种语言字符串的编写,如JSON等,值得你去实践一下。
当然,正则表达式也是支持的,甚至支持简单的正则表达式的测试能力。
最后,说一个调试中比较惊艳的快捷键 shift+f7,迅速 debug 到你想要去的某行代码,被叫做 Smart Step Into。
限于篇幅,就分享几个常用的快捷键,感兴趣的同学可以实践一下。
ctrl+shift+a:全局搜索 IDEA 的操作和设置
shift+f6:重命名
ctrl+alt+m:提取方法
ctrl+alt+l:格式化代码
ctrl+alt+o:优化导入类和包
ctrl+d:复制行
ctrl+y:删除行
ctrl+f4:关闭当前编辑面板
ctrl+Shift+Up/Down:代码向上/下移动
ctrl+/ 或者 ctrl+shift+/:注释「// 或者/*...*/ 」
alt+7:显示类结构
ctrl+W:选中代码,连续按会有其他效果
ctrl+shift+加号「或者减号」:展开「或折叠」代码
refactor 功能菜单:提取接口、接口与实现之间相互发代码
也许,我们很多人都欠 JetBrains 公司一个正版授权?