IntelliJ常用配置备忘

前言

最近IntelliJ又由于自己的骚操作给弄崩溃了,导致之前弄的一大波配置又找不到了,十分蛋疼的又要开始重头开始弄环境。很多之前精心搞过的配置又都记不住了,为了防止以后出现这种情况,这里就把我日常用的配置和注意点记一下,免得以后又要重新摸索。尽量持续更新。

安装

安装这块没啥好说的,不过要注意的是,虽然 IntelliJ 有 Community 版,但是毕竟还是少了一些东西的,比如对JavaScript的支持、一些静态检查的支持、Spring框架的整体支持等等。因此还是不要太委屈自己了,安装个正式版然后激活下好了(罪过罪过,实在是正版太贵了)。

配置

修改文件模板

合作写代码的时候,一般都要求在自己创建的文件头加上一些创建者的信息,用以方便交流。

方法是找到下面的路径:File > Settings > Editor > File and Code Templates > Includes > File Header,并修改文件模板:

/**
 * @author ${USER}
 * @date ${DATE}
 */

当然,@date 并不是标准的javadoc注解,不过也无妨了。

修改编辑器样式

人老了,眼神不好,编辑器字体太小的话为了看清楚还要凑上去,对颈椎也不好。

方法找到下面的路径: File > Settings > Editor > Font,并把Size设为一个合适的大小(蛋疼的默认设置竟然是12磅),我现在似乎对16磅的感觉比较舒服,不排除以后用更大的字体。

而且,一般公司的灯光都不错,用白底的主题更舒服。在File > Settings > Appearance & Behavior > Appearance里将Theme调成IntelliJ即可。

自动Import包时少用通配符

一般在 import 其他包的类时,如果来自同一个包的类比较多,IntelliJ 会弄个通配符出来,缩成一行。这样做可以减少文件长度,但是容易把本地的名空间弄混乱,可读性会差一点,因此一般会建议显示 import 所有需要的类而不要用通配符。

方法是找到下面的路径: File > Settings > Editor > Code Style > Java > Imports,并将 Class count to use import with "*"Names count to use static import with "*" 设为一个较大的值。

序列化接口提示自动生成serialVersionUID

序列化的时候如果不指定serialVersionUID,那么实际上每次都要根据类的定义去计算一个UID,这个计算的结果很可能会受编译器的影响,容易导致UID的不一致,出现序列化/反序列化失败。

不知为何 IntelliJ 默认没有增加这个 Inspection ,那我们加一下就好了。

找到下面的路径:File > Settings > Editor > Inspections。首先把 Profile 设置成Default IDE,这样配置才能在所有项目中应用,否则就只在当前项目中应用。然后在Java > Serialization issues中,找到Serializable class without 'serialVersionUID',并把校验勾上。

增加了 Inspections 告警之后,就可以条件激活时,触发 Intention 的提示,这样就可以使用 alt + enter 直接自动生成UID了。

话说回来,有一个叫GenerateSerialVersionUID的插件也是专门用来做这件事的,不过相比较之下还是直接改下配置更轻量。

指定JavaScript语言

JavaScript的语言特性飚的太快了,为了防止使用新特性报错,需要调一下语言等级。

找到下面的路径:File > Settings > Languages & Frameworks > JavaScript,并将 JavaScript language version 调整为 ECMAScript 6或以上。

插件

对于插件,最好的原则应当是宁缺毋滥。曾经有一段时间我也是一听说有什么新奇的插件都会装来已用,后来发现很多东西到头来根本用不到。其实很多功能 IDEA 本身就已经很强大了,再额外装那些看上去很帅其实并没有什么卵用的插件其实只能把开发环境弄的乱七八糟,各种热键冲突,各种中英文混淆,各种不适配的Bug,反而让人用起来很烦躁。况且很多所谓插件提供的功能,IDEA 本身其实是慢慢都已经支持了。因此与其到处找新插件,倒不如仔细研究一下 IntelliJ 自身已经提供的功能。

这里也顺便吐槽一下很多推荐插件的文章,我反正是完全不相信他们自己会用他们推荐的插件的。

IDE Features Trainer

插件地址: IDE Features Trainer
使用理由: 在刚接触 IntelliJ 的时候,一定要先使用一下这个插件。安装之后可以在View > Tool Windows > Learn里打开练习页。这个插件能非常全面的过一遍 IntelliJ 的快捷键,运用熟练之后开发效率能有很大提升。

Vue.​js

插件地址: Vue.js

使用理由: 对于平时需要使用 Vue.js 开发一些页面的我来说,一个支持 Vue.js 语法的插件当然十分有用了啊,否则就是各种波浪线,很难受的。

VisualVM Launcher

插件地址: VisualVM Launcher

使用理由: 对于需要经常使用 visualvm 来进行性能调优和 debug 的我来说,一个可以直接帮我启动 visualvm 并打开当前正在调试的应用的按钮还是很方便的。

Lombok

插件地址: Lombok

使用理由: 虽然我个人不喜欢用 Lombok ,毕竟这玩意不方便调试,而且容易跟 gradle 和 jdk 产生构建冲突,非常蛋疼。但是鉴于很多同事喜欢用这玩意,导致不装这个东西就根本调试不了他们的代码,所以没辙,这玩意必须得装,没得选。

Alibaba Java Coding Guidelines

插件地址: Alibaba Java Coding Guidelines

使用理由: 阿里的代码规约插件还是能让我们学到一些不错的规范的,在 IntelliJ 自带的 Inspection 的基础上更进一步,可以看成是一种补充。用的时候记得把语言调成英文,食用起来更可口。

CodeGlance

插件地址: CodeGlance

使用理由: IntelliJ 自带的滚动条还是太细了点,文件比较长的时候,想拖动的话还是不太方便的。CodeGlance 能做到在右边加一个类似 VSCode 的缩略图,拖动起来就方便多了。

Scala

插件地址:Scala

使用理由: 即使不写Scala,总会有时候需要查看Scala源码的程序,比如Akka,Kafka之类的。这时候如果不装这个插件,只能看到从.class反编译的源码,无法看到真正的scala代码以及很多注释。

MyBatisCodeHelperPro

插件地址:MybatisCodeHelperPro

使用理由:在用Mybatis的时候,经常会蛋疼于xml文件和mapper接口文件无法关联。比如从mapper接口文件无法直接跳转到xml文件、xml文件中使用`#{value}`的方法填写参数的时候也无法不全。。。这时,用这个参数就能很好的解决这个问题,无论是代码查看还是代码补全都会非常方便。而且这个插件也是国产的,可以支持一波哈~~~

注意事项

最后是两个最重要的注意事项,当 IntelliJ 没啥响应,总是在做一些后台操作却又无法中止时,可以尝试这两种方法修复:

清除缓存并重启

很多情况下,重启可以解决。如果是 IntelliJ 内部运行的问题,清一下缓存文件也可以解决了。

方法是选择File > Invalidate Caches / Restart,清除 IntelliJ 的缓存并重启。

禁止索引无用文件

如果发现清除了缓存还没用的话,多半是你的文件数太多了,IntelliJ 根本就处理不过来了。出现这个问题的原因是,IntelliJ 需要首先加载并索引项目的文件,但是你的项目中很可能存在太多的本不需要索引的文件,导致 IntelliJ 加载不完。比如在开发前端时下载的node_modules/文件夹之类的。因此我们需要把这一类的文件夹排除在索引名单中。

方法是在File > Project Structure中,找到这类的文件夹并将其标记为橘黄色的Excluded。这样 IntelliJ 就不会索引这些无用的文件了。(没错,这次我就是因为忘记了这个操作才先重装了一下导致配置全部丢失的。)