原来 IDEA 还可以这样玩

13,717 阅读6分钟

1. 引言

Hi,你好,我是有清。

我们日常工作中,需要花费大量的时间在 IDEA 上编写代码,如何利用好 IDEA 这个工具,为我们的工作提效就变得尤为重要,本文将更新我的日常工作中使用到 IDEA 的一些技巧,希望与大家共勉。

当然有一些基础的操作,本文就不赘述了,相信在读这篇文章的各位架构师一定了然于胸

本文中所涉及到一些快捷键,可能被博主自身调整过,可以根据自己的习惯去重新设置快捷键,或者查看原生的快捷键,举个 🌰 :

我想查看 Next Project Window 的原生快捷键

1.png

2.png 我想设置 Next Project Window 的快捷键

3.png

4.png

2. 一秒10行

2.1. 快捷 coding

假设我们现在有个接口文档

// 性别
sex
// 年级
grade
// 年龄
age
// 名字
name

我们需要在代码里构造成 pojo 对象,你会怎么做呢?是这样吗?

5.gif

其实我们可以这样操作

6.gif

该说不说,又省下来几分钟的摸鱼时间,这个例子仅是抛砖引玉,大家可以在实际工作中灵活运用,为自己工作提效,接下来我们拆解一下 gif 中的操作

2.1.1. 批量选中

面对项目中多个需要修改的地方,我们可以批量选中

名称功能键快捷键
选择多个出现的地方Select All OccurrencesAlt + Command + G

7.gif

2.1.2. live template

然后可能还有小伙伴关心 private String 和注释咋都会自己都跑出来呢?这边其实是借助到我们的 liveTemplae,liveTemplate 通常是我们预设的一些快捷键模版,可以将我们常用的一些代码操作直接预设好,看个 gif 可能更加直观

8.gif

接下来我们看下怎么设置

9.gif转存失败,建议直接上传图片文件

2.1.3. postfix

这个功能类似于 liveTemplate 但是在某些情况比 liveTemplate 更加高效,👇

10.gif

再来一个 🌰

11.gif

内置的 postfix 为我们提供了许多功能,可以打开设置面板一一细品

12.png

2.1.4. 重构变量

作为一名优秀的 programmer 我们需要保证我们离开的时候营地比来的时候干净

假设我们的某个方法中某个变量语义不佳,或者某个文件中的常量类语义不佳,我们可以这样操作

名称功能键快捷键
重命名RenameShift + F6

2.2. 重构相关

2.2.1. 重构方法

假设我们 a 方法被多个地方引用,此时我们在某个类中需要对 a 方法针加入参,如果 a 方法有了这个入参则走新逻辑,没有的话就走旧逻辑

如果翻到 a 的每一个调用处去更改,着实有点麻烦我们可以这样弄

名称功能键快捷键
更改方法签名Change SignatureCommand + F6

13.png

2.2.2. 抽取方法

14.gif

名称功能键快捷键
抽取方法Extrace MethodAlt + Command + V

2.2.3. 抽取变量

15.gif

名称功能键快捷键
抽取变量Introduce VariableAlt + Command + V
抽取常量Introduce ConstantAlt + C

2.2.4. 其他

还有一些重构我在日常工作中不大使用,大家可以参考

16.png

3. 旋转、跳跃,我眯着眼

3.1. 快捷打开项目

作为一位优秀的 programmer,我们工作的时候必定面临着十几个项目,当我在 a 项目编写完代码后,我想切到 b 项目,那么我一个快捷键即可

名称功能键快捷键
切换项目Open Recent ProjectAlt + shift + Command + e

17.png

3.2. 多项目切换

作为一位优秀的 programmer,我们工作的时候必定面临着十几个项目,每次我都要用触摸板摸来摸去找项目切换,属实不大优雅

18.gif 在演示的 gif 中,我们有两个项目 demo 和 Sentinel 中,如果我们使用触摸板的话,就得移动到项目在进行切换,如果你使用了快捷键,那简直就是一键起飞 🛫️

名称功能键快捷键
切换下一个项目Next Project WindowCommad + `
切换上一个项目Previous Project WindowCommad + ·

3.3. 多文件跳转

作为一位优秀的 programmer,我们工作的时候必定会打开着十几个文件的

19.png

那么如何查看我最近打开过的文件呢?如何在十几个文件中自由切换呢?

20.gif

名称功能键快捷键
唤起最近文件Recent FilesCommand + E

唤起最近文件,Recent Files 再次点击同样的快捷键,即可切换最近修改过的文件,并且这个页面是支持搜索的,可以一下子就定位到我们想要去的文件

3.4. 最近修改位置跳转

作为一位优秀的 programmer,我们工作的时候必定会修改着十几个文件,那么如何定位到我上一处修改的地方呢?这个快捷键可能对你有所帮助

21.gif

名称功能键
上一处修改位置Last Edit Location
下一处修改位置Next Edit Location

3.5. 书签跳转

有的时候我们在看别人的代码的时候,看到某一处非常垃圾的代码,我们需要标记下来和同事吐槽,那么我们就需要利用到书签这个功能了

22.png

名称功能键快捷键
书签打标Toggle BookmarkF3

我想看到我项目中,所有我想吐槽的代码的书签

23.png

名称功能键快捷键
展示所有书签Show BookmarksCommand + F3

当然你可以将你的书签展示在你的侧边栏

24.png

名称功能键快捷键
展示侧边栏书签BookmarksCommand + F2

我想给书签记录一下名字,比如精准吐槽 xxx,那么我们可以这样做

25.gif

你还可以针对这些书签进行自由的分组,比如可以建一个专门针对某人吐槽的文件夹

26.png

3.6. 迅速跳转到文件头部、尾部

虽然作为一位优秀的 programmer,但是项目中总有一些乱七八糟的💩⛰️代码,一个文件 1800 行,我想在类名下定义一个常量,得划拉半天,那么如何迅速跳转到文件头部或者尾部呢?

名称功能键
跳转文件头部Move Caret to Page Top
跳转文件尾部Move Caret to Page Bottom

3.7. emcasIdea 使用

27.png

假设借助这个插件

28.gif

我们去插件市场下载emcasIdea即可,这个插件还有很多功能可以自己去探索一下

名称功能键
跳转相同字母位置aceJumpWord

3.8. project 区和编辑区跳转

29.png

名称功能键快捷键
跳转 project 区projectCommand + 1
跳转到编辑区escesc

30.gif

4. 寻踪觅影

4.1. 本地历史

张三三分钟写了一段代码感觉跟 shi 一样,把他删了。

张三四分钟后,觉得shi一样的代码也能用。

IDEA 是否有本地版本记录呢?有!

31.png

名称功能键快捷键
展示本地提交记录Show historyAlt + H

4.2. git 追踪

在idea 里使用 git 别提有多舒服了,每天上班拉

代码,切分支,合代码,点来点去有点繁琐,来几个快捷键一气呵成

名称功能键快捷键
更新项目Update ProjectCommand + T
切换分支Show BranceAlt + G
展示文件git提交记录Show historyAlt + H