这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_java

大家好,我是 Guide! 昨晚刷到一篇知乎 370 多点赞的 IDEA 高效使用教程,带着好奇心,点击去一看,好家伙,又是盗用别人原创为自己引流的恶心行为。 让我纳闷的是,这篇文章的内容质量非常差,而且内容已经过时了(原文是 2018 年写的),竟然还能获得 370 多点赞。我自己非常多文章别人盗发几百点赞,我自己发个位数的点赞,就很奇葩,说多了都是泪...... 于是,我利用昨天晚上和早起的这会时间总结了这篇 IDEA 高效使用教程 。希望对大家有帮助! 本文分为下面 4 部分内容:

  1. IDEA 高效设置指南
  2. 必备的一些插件推荐
  3. 主题优化
  4. IDEA 源码阅读技巧

01 高效设置

我们先来讲讲有哪些设置调整之后 IDEA 会更好用。先说明一点:这里只是根据我个人喜好和习惯的建议,IDEA 的默认配置已经很好用了,具体要不要修改还是要看个人喜好和习惯了。


调整窗口字体显示大小

巨好用的一个功能!强烈安利! 勾选上Preferences / Settings | Editor | General下的Change font size with Command + Mouse Wheel选项之后,我们就可以直接使用 ⌘+鼠标滚轮(Mac)/ Ctrl+鼠标滚轮(Windows&Linux)来更改窗口字体的大小

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_快捷键_02


字体设置

修改Preferences / Settings | Editor | Font选项下的字体设置,字体推荐使用 JetBrains Mono ,字体大小建议 16/18,根据个人需要选择是否需要开启连字。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_快捷键_03

连字开启之后,代码可读性会更强。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_ide_04


配置类注释模板

修改Preferences / Settings | Editor | File adn Code Templates下的 ClassEnum 的模板。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_java_05

我的日常项目的类注释模板配置为:

/**
* 微信搜 JavaGuide 回复undefined面试突击undefined即可免费领取个人原创的 Java 面试手册
* @author Guide哥
* @date ${YEAR}/${MONTH}/${DAY} ${HOUR}:${MINUTE}
**/
public class ${NAME} {
}

优化 Live Templates

IDEA 自带的编码模板我们平时在编码的时候就会经常用到,不知道大家有没有注意。就比如说你输入一个 sout 就可以直接输出一行输出语句 System.out.println();

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_java_06

你可以根据自己的习惯对 IDEA 自带的编码模板进行修改,并且,你还可以添加新的编码模板来提高编码速度。非常使用!

全局设置 SDK

修改File -> New Projects Setup -> Structure...| Project下的 Project SDK 选项,将其更改为你最常用的 Java 版本。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_快捷键_07

这样的话,你新导入的项目或者新建的项目都会默认使用这个版本的 SDK。

自动导包&删除无用包

勾选上Preferences / Settings | Editor | General | Auto Import下的指定选项即可!

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_java_08

这样设置之后,IDEA 会自动帮你导包(唯一确定的时候才会生效)以及删除代码中没用到的包。

显示方法分割线

勾选上Preferences / Settings | Editor | General | Appearance下的 Show method separators 选项之后,方法分割线就有了,这会小幅提高代码的可读性。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_ide_09


02 必备插件

好用的插件太多了,我这里只推荐 6 个我最常用的 IDEA 插件。更多插件推荐可以看我写的《IDEA专题》

jclasslib :字节码查看神器

使用 jclasslib 不光可以直观地查看某个类对应的字节码文件,还可以查看类的基本信息、常量池、接口、属性、函数等信息。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_java_10


Tabnine:基于 AI 的代码提示

Tabnine 的前身是大名鼎鼎的 Codota。我一直在用的一个插件,可以说非常好用了。 Tabnine 这个插件用于智能代码补全,它基于数百万 Java 程序,能够根据程序上下文提示补全代码。Tabnine 和 IDEA 自带的智能提示两者互补。 如果你觉得 IDEA 插件安装的太多比较卡顿的话,不用担心!Tabnine 插件还有一个对应的在线网站,在这个网站上你可以根据代码关键字搜索相关代码示例,非常不错!网站地址:https://www.tabnine.com/ 。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_ide_11


Key Promoter X:快捷键提示

这个插件的功能主要是在你本可以使用快捷键操作的地方提醒你用快捷键操作。

举个例子。我直接点击 tab 栏下的菜单打开 Version Control(版本控制) 的话,这个插件就会提示你可以用快捷键 command+9或者shift+command+9打开。如下图所示。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_java_12

它还可以展示出哪些快捷键你忘记使用的次数最多!

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_ide_13


Alibaba Java Code Guidelines:阿里巴巴 Java 代码规范

阿里巴巴 Java 代码规范,对应的 Github 地址为:https://github.com/alibaba/p3c (opens new window) 。非常推荐安装! 安装完成之后建议将与语言替换成中文,提示更加友好一点。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_java_14

根据官方描述:

目前这个插件实现了开发手册中的的 53 条规则,大部分基于 PMD 实现,其中有 4 条规则基于 IDEA 实现,并且基于 IDEA Inspection (opens new window)实现了实时检测功能。部分规则实现了 Quick Fix 功能,对于可以提供 Quick Fix 但没有提供的,我们会尽快实现,也欢迎有兴趣的同学加入进来一起努力。 目前插件检测有两种模式:实时检测、手动触发。

上述提到的开发手册也就是在 Java 开发领域赫赫有名的《阿里巴巴 Java 开发手册》。 这个插件会实时检测出我们的代码不匹配它的规则的地方,并且会给出修改建议。比如我们按照下面的方式去创建线程池的话,这个插件就会帮我们检测出来,如下图所示。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_快捷键_15


SequenceDiagram:一键生成时序图

通过 SequenceDiagram 这个插件,我们一键可以生成时序图。 并且,你还可以:

  1. 点击时序图中的类/方法即可跳转到对应的地方。
  2. 从时序图中删除对应的类或者方法。
  3. 将生成的时序图导出为 PNG 图片格式。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_ide_16


Save Actions:优化文件保存

这个插件可以帮助我们在保存文件的时候:

  1. 优化导入;
  2. 格式化代码;
  3. 执行一些 quick fix
  4. ......

Rainbow Brackets : 彩虹括号

使用各种鲜明的颜色来展示你的括号,效果图如下。可以看出代码层级变得更加清晰了,可以说非常实用友好了!

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_ide_17


03 主题优化

这几款 IDEA 主题也太好看了吧!!这篇文章中,我精选了几个比较适合 Java 编码的 IDEA 主题供小伙伴们选择(我自己用的是 One Dark theme 这款)。

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_ide_18

挺难受的,本着一片好意发这篇文章,结果还被喷了,很多小伙伴说我审美不行,还有一些小伙伴说花里胡哨的,没有原本自带的主题好看。 萝卜白菜各有所爱吧!保持一个包容的心态不是很难吧?你可以不装任何插件,但不要认为别人装插件就是多余,IDEA 的插件就是 IDEA 的一大灵魂所在,这点事无法否认的事实。

04 IDEA 源码阅读技巧

真香!用 IDEA 神器看源码,效率真高! 这篇文章中,我介绍了自己平时看源码的时候常用的快捷键/小技巧!非常好用!

这样使用 IDEA ,效率提升10倍!| IDEA 高效使用指南_java_19

掌握这些快捷键/小技巧,使用 IDEA 看源码的效率提升一个等级!