夜雨聆风学习资料网

ARTICLE · 1338022

同事用16个IDEA插件把代码写成艺术品,我还在手敲getter:这5个Java开发必装你装了吗

同事用16个IDEA插件把代码写成艺术品,我还在手敲getter:这5个Java开发必装你装了吗

前两天帮同事排查一个空指针,我打开他的IDEA,愣了三秒。

同样的项目,他的代码花花绿绿,Mapper接口上有个小鸟图标,点一下直接跳到XML;括号一层层自动配色,嵌套再深也不眼花;改完代码还没保存,规范问题就已经在右边标红。而我这边,还在手写private String name; public String getName(){...},一个实体类二十个字段,敲到手指发酸。

他笑着说:“你这不是写Java,你这是练打字。”

这话扎心,但确实是真的。很多人以为Java开发慢是因为不熟API,其实一大半时间浪费在重复劳动上。今天这篇不聊高深架构,就聊一件很实在的事:Java开发者最该装的几个IDEA插件,以及每个插件到底解决什么问题、怎么装、有哪些坑。

先把话说清楚,插件不是越多越好。装一堆用不上的,只会拖慢启动、加重卡顿。下面这5个,是我认为对绝大多数Java后端开发者收益最高的,按“装了立刻能用上”的顺序排。

插件名解决什么问题新手友好度Lombok消除getter/setter、构造器样板代码高MyBatisXMapper接口与XML互相跳转高Alibaba Java Coding Guidelines实时检查代码规范高Rainbow Brackets多层括号配色,防看错高Maven Helper排查依赖冲突中

下面一个一个来,每一步都写清楚,你跟着点就行。

第一步:装Lombok,先把实体类的样板代码干掉

这是Java新手最该先装的。你写一个User类,五个字段,不装Lombok就要写五个getter、五个setter,再加无参构造、toString,一个类五六十行,真正有用的就那五行。

安装步骤:打开IDEA,菜单栏File -> Settings -> Plugins,在搜索框输入Lombok,找到官方那个(作者是Michail Plushnikov),点Install,装完重启IDEA。

注意,光装插件还不够。IDEA 2020之后的版本已经内置了对Lombok的支持,但你要确认设置里开了注解处理:Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors,勾选Enable annotation processing。这一步不开,编译时会报“找不到符号 getXXX”,这是新手最常见的坑。

然后在pom.xml里加依赖:

<dependency>    <groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId>    <version>1.18.30</version>    <scope>provided</scope></dependency>

写实体类就变成这样:

import lombok.Data;import lombok.NoArgsConstructor;import lombok.AllArgsConstructor;/** * 用户实体类 * @Data 自动生成getter/setter/toString/equals/hashCode */@Data@NoArgsConstructor@AllArgsConstructorpublic class User {    private Long id;    private String name;    private Integer age;}

五十行变十行。这里提醒一句:@Data虽然方便,但用在实体类上要留意equals和hashCode的语义,如果字段里有可变对象,建议显式重写。另外团队协作时,确保所有人都装了Lombok插件,否则别人打开你的代码会一片红。

第二步:装MyBatisX,让Mapper接口和XML不再靠肉眼找

只要你用MyBatis,这个插件几乎是必装。没装之前,你在UserMapper接口里看到selectById,想找对应的SQL,只能打开XML用Ctrl+F搜方法名,项目一大就找半天。

安装:同样在Plugins里搜MyBatisX,作者是baomidou,装完重启。

装好后效果很直观:Mapper接口的方法左边会出现一个小鸟图标,点一下直接跳到XML里对应的<select>标签;反过来,XML里的id左边也有图标,点一下跳回接口方法。它还支持根据方法名自动生成SQL,比如你写selectByNameAndAge,它能帮你补出对应的XML片段。

这个插件不需要额外配置,装上就生效。对于“MyBatis Mapper接口怎么跳转到XML”这类问题,它就是最直接的答案。

第三步:装Alibaba Java Coding Guidelines,让规范问题当场暴露

很多人代码规范是靠代码review时被同事指出来,效率很低。这个插件把《阿里巴巴Java开发手册》的规则做成了实时检查,你写完一行,有问题立刻标出来。

安装:Plugins里搜Alibaba Java Coding Guidelines,作者是Alibaba,装完重启。装好后在代码里右键,能看到“编码规约扫描”选项,也可以开启实时检测。

它会提示什么?举几个新手常犯的:方法名用了拼音、常量没加static final、集合初始化没指定容量、catch了异常却没处理、字符串拼接在循环里用加号。这些都是面试和review里的高频扣分点,提前被插件点出来,比被人当面指出舒服多了。

注意一点,它的提示分三个级别:Blocker、Critical、Major。新手阶段优先处理Blocker和Critical,Major里有些是风格建议,不必全部照改,否则容易陷入为了规范而规范的死循环。

第四步:装Rainbow Brackets,括号嵌套再深也不看错

这个插件不涉及业务逻辑,但解决一个真实痛点:Java里if套for套try,括号一层又一层,你盯着屏幕找哪个括号配对,眼睛都花了。

安装:Plugins里搜Rainbow Brackets,装完重启。之后每一对括号会自动分配不同颜色,同一层级的括号颜色一致,鼠标点在某个括号上,它和它的配对括号会同时高亮。

写Lambda、写多层嵌套的JSON处理、写复杂的条件判断时,这个插件能明显降低看错括号的概率。它是纯视觉辅助,不影响编译和运行,装了就懂。

第五步:装Maven Helper,依赖冲突一眼看穿

这个稍微进阶一点,但只要你项目里依赖超过十个,迟早会遇到。典型症状是:明明引入了某个包,运行时却报NoSuchMethodError或者ClassNotFoundException,原因往往是同一个库被不同依赖引入了多个版本,Maven选了其中一个,而那个版本恰好缺你要的方法。

安装:Plugins里搜Maven Helper,装完重启。打开pom.xml,底部会多一个“Dependency Analyzer”标签页,点进去能看到Conflicts(冲突)、All Dependencies As List、All Dependencies As Tree三个视图。

切到Conflicts,所有版本冲突一目了然,右键冲突项可以直接Exclude掉多余的传递依赖。

比如你发现commons-lang3同时被引入了3.9和3.12两个版本,就可以在pom里排除掉旧的那个:

<dependency>    <groupId>com.example</groupId>    <artifactId>some-starter</artifactId>    <version>1.0.0</version>    <exclusions>        <!-- 排除旧版本,统一用项目里声明的版本 -->        <exclusion>            <groupId>org.apache.commons</groupId>            <artifactId>commons-lang3</artifactId>        </exclusion>    </exclusions></dependency>

这个插件解决的是“Maven依赖冲突怎么排查”这个高频搜索问题,比命令行敲mvn dependency:tree再肉眼找要快得多。

装完之后,还有两点要提醒你

第一,插件装多了会拖慢IDEA。建议在Settings -> Plugins里定期清理不用的,尤其是那些你装了一次就再没打开过的。启动慢、卡顿,很多时候不是电脑不行,是插件太多。

第二,团队协作要统一。Lombok、代码规范这类插件,如果只有你装了,别人打开你的代码可能报错或者看到一堆警告。新项目启动时,把必装插件写进团队文档,比事后一个个补要省事。

小结

这篇讲的5个插件,本质上都在做同一件事:把重复的、机械的、容易出错的工作交给工具,让你把精力放在业务逻辑和设计上。Lombok省掉样板代码,MyBatisX省掉来回找文件,代码规范插件省掉事后返工,Rainbow Brackets省掉看错括号,Maven Helper省掉依赖排查的折磨。

装插件只是提效的第一步,真正拉开差距的还是对Java基础、集合、并发、JVM这些硬功夫的理解。下一篇我会写“Java集合面试高频考点:ArrayList和LinkedList到底怎么选”,把这两个类的底层结构和适用场景讲透,感兴趣可以先关注,别错过。

你现在IDEA里装了几个插件?有没有哪个是你装了之后再也离不开的?评论区聊聊,我看看有没有我漏掉的好东西。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料