用了这个 IntellijIDEA 插件以后,我写代码快了 10 倍!
前言
基本上每个程序员都会写代码,但写代码的速度不尽相同。
为什么有些人,一天只能写几百行代码?
而有些人,一天可以写几千行代码?
有没有办法,可以提升开发效率,在相同的时间内,写出更多的代码呢?
今天我跟大家一起聊聊在 idea 中,能提升编码效率的 12 种插件,希望对大家有所帮助。
lombok
现在新版的 idea 已经内置了 lombok 插件,所以用它是一种趋势。
我之所以把 lombok 放在整篇文章的第一个介绍,是因为它真的可以帮我少写很多代码,特别是 entity、DTO、VO、BO 中的。
我们用 User 类举例,以前定义 javabean 需要写如下代码:
public class User {
}该 User 类中包含了:成员变量、getter/setter 方法、构造方法、equals、hashCode 方法。
咋一看,代码还是挺多的。而且还有个问题,如果 User 类中的代码修改了,比如:age 字段改成字符串类型,或者 name 字段名称修改了,是不是需要同步修改相关的成员变量、getter/setter 方法、构造方法、equals、hashCode 方法全都修改一遍?
好消息是用 lombok 可以解决这个问题。
如果是 idea2020.3 之前的版本,需要在 idea 中安装如下插件:
但 idea2020.3 之后,idea 已经内置了 lombok 的功能。
有了 lombok 插件,现在我们在 idea 只用这样写代码,就能实现上面的功能了:
@ToString@EqualsAndHashCode@NoArgsConstructor@AllArgsConstructor@Getter@Setterpublic class User {
}简直太轻松了,真的可以少写很多代码。
此外,我们还需要在项目的 pom 文件中,引入 lombok 的依赖包,不然项目会跑不起来。
Free Mybatis plugin
在国内 mybatis 已经成为了最主流的数据库框架了,该框架属于半自动化的 ORM 持久化框架,相对于 hibernate 这种全自动化的持久化框架更灵活,性能更高。
在 mybatis 中,我们需要自己定义 mapper 和对应的 xml 文件完成绑定。
在这里我们以用户表为例,首先需要定义 UserMapper 接口:
public interface UserMapper {int insertUser(UserModel user);}然后需要 UserMapper.xml 配置文件:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.sue.jump.mappers.UserMapper">
</mapper>UserMapper.xml 文件中,mapper 标签的 namespace 对应 UserMapper 接口名,而 insert 标签的 id=insertUser,正好对应 UserMapper 接口中的 insertUser 方法。
那么,在项目中如何通过 UserMapper 类中的 getUser 方法,能够快速访问 UserMapper.xml 文件中的 getUser 方法?
答:这就需要使用 Free Mybatis plugin 插件了。
安装了该插件之后,在 UserMapper 接口的接口名和方法名的左边,会多了两个绿色的箭头,我们点击该箭头,就能跳转到 UserMapper.xml 文件对应的 mapper 标签或者 insertUser 语句上。
此外,在 UserMapper.xml 文件的 insertUser 语句的左边,也会多出一个绿色的箭头,我们点击该箭头,也能跳转到 UserMapper 接口的 insertUser 方法上。
有了这个插件,我们就能在 mapper 和 xml 之间自由切换,自由玩耍了,再也不用像以前那样搜索来搜索去。
3.Translation
有些小伙伴,包括我自己可能英语不太好(我英语刚过四级)。
我们在给变量或者方法取名时,要想半天。特别是在阅读 JDK 英文文档时,遇到了一些生僻字,简直头大。
有个好消息是使用: Translation 插件,能够让我们在文档中自由飞翔。
安装完 Translation 插件之后,在 other settings 中多了一个 Translation 菜单。
点击该菜单:
在右边的窗口中,可以选择翻译软件。
选中需要翻译的英文文档:
在右键弹窗的窗口中,选择 Translation 选项,会弹如下窗口:
一段英文段落,一下子翻译成了中文,简直太爽了。
4.Alibaba Java Coding Guidelines
如果你是从事 Java 开发工作的小伙伴,肯定看过阿里巴巴的《Java 开发手册》。
该手册总结了我们在日常开发过程中,可能会遇到的问题。从编程规约、异常日志、单位测试、安全规约、Mysql 数据库和工程结构,这 6 大方面,规范了开发的流程,确保我们能写出高效、优雅的代码。
但这些规范性的东西,仅仅靠人的自觉性,很难达到预期的效果。
为了解决这个问题,阿里巴巴推出了 Alibaba Java Coding Guidelines 插件,能够通过该插件,直接查出不合规范的代码。
安装了该插件之后,按下快捷键: Ctrl+Alt+Shift+J ,可以可对整个项目或单个文件进行编码规约扫描。
扫描后会将不规范的代码按从高到低。
目前有三个等级显示在下方:
Blocker 崩溃
Critical 严重
Major 重要
点击左边其中一个不规范的代码行,右边窗口会立刻显示不规范的详细代码,便于我们快速定位问题。
nice。
GenerateAllSetter
很多时候,我们需要给某个对象赋值,如果参数比较多的话,需要手写大量的 setter 或者 getter 代码。
有没有办法一键搞定呢?
答:有,使用 GenerateAllSetter 插件。
安装完插件之后,在创建的对象上,按快捷键下: alt + enter 。
在弹出的窗口中选择:Generate all setter with default value。
就会自动生成如下代码:
简直太方便了。
SequenceDiagram
我们平时在阅读源码时,为了梳理清楚内部逻辑,经常需要画一些 时序图 。
如果我们直接画,会浪费很多时间,而且画的图不一定正确。
这时可以使用: SequenceDiagram 插件。
选择具体某个方法,右键选择:sequence diagram 选项:
之后,会出现时序图:
从此以后,能够成为画图高手了,完美。
CheckStyle-IDEA
在代码格式方面,有许多地方,需要我们注意,比如: 无用导入、没写注释、语法错误、方法太长等等。
有没有办法,可以在 idea 中,一次性检测出上面的这些问题呢?
答:使用 CheckStyle-IDEA 插件。
CheckStyle-IDEA 是一个检测代码格式是否满足规范的工具,其中用得比较多的是 Google 规范和 Sun 规范。
安装完插件后,在 idea 的下方会出现:CheckStyle 选项:
点击左边的绿色按钮,可以扫描代码。在中间位置,会显示不符合代码规范的原因。
双击代码,即可直接跳转到具体代码:
8.JRebel and XRebel
在 idea 中开发 Java 项目,有个很不爽的地方是: 每次修改一个类或者接口,都需要重启服务,否则不会运行最新地方。
而每次重启,都需要花大量的时间。
有没有办法,Java 代码修改后不用重启系统,立即生效呢?
答:使用 JRebel and XRebel 插件。
如图:
安装完成之后,这里会有两个绿色的按钮,并且在右边多了一个选项 Select Rebel Agents:
其中一个绿色的按钮,表示热部署启动项目,另外一个表示用 debug 默认热部署启动项目。
Select Rebel Agents 选项中包含三个值:JRebel:修改完代码,不重启服务,期望代码直接生效。
XRebel:请求过程中,各个部分代码性能监控。例如:方法执行时间,出现的异常,SQL 执行时间,输出的 Log,MQ 执行时间等。
JRebel+XRebel:修改完代码,不重启服务,并且监控代码。
Codota
说实话,idea 现有的代码提示功能,已经很强大了。
但如果你使用过 Codota 插件,它会让你写代码的速度更上一层楼。
安装完插件之后,我们在写代码时,它会给你一些提示:
这些提示是基于 ai 统计出来的,非常有参考价值。
GsonFormat
很多时候,我需要把 json 中的参数,转换成 实体对象 中的参数。或者把 实体对象 中的参数,转换成 json 中的参数。
以前我们都是手动一个变量,一个变量的拷贝的。
但现在有个好消息是,idea 的 GsonFormat 插件可以帮我们完成这件事。
安装完插件之后,先创建一个空类:
按下快捷键: alt + s ,会弹出下面这个窗口:
然后在该窗口中,录入 json 数据。
点击确定按钮,就会自动生成这些代码:
简直帅呆了。
Rainbow Brackets
我们平时写代码的时候,括号是让我们非常头疼的地方,特别是代码逻辑很多,层层嵌套的情况。
一眼很难看出,代码是从哪个括号开始,到哪个反括号结束的。
有没有办法解决这个问题呢?
答:使用 Rainbow Brackets 插件。
安装完插件之后,括号和反括号,在代码中会自动按照不同颜色做区分:
非常显目,非常直观。
CodeGlance
有些时候,我们阅读的代码很多,比如某个类中包含的方法和成员变量很多。
从上往下,一点点往下翻,会浪费很多时间。那么有没有办法,能够快速翻到想看的代码呢?
答:有,可以使用 CodeGlance 插件。
安装完插件之后,在代码右侧,会出现下面这个窗口:
它是代码的缩略图,通过它我们能够非常快速的切换代码块。
评论