俗话说:工欲善其事,必先利其器。确实是这样,当我们有了一个好方法,有了一个好工具,再去干一件事情时,真的会方便顺畅的多。所以,今天整理了一些日常开发中自用的并且感觉非常实用的Idea插件,做个分享。日后如果有了新的好用的插件也会进行更新。
一、Idea如何添加插件
选择File---->Settings
选择Plugins,Marketplace就是"插件市场",你可以在这里搜索公共的插件,Installed是你本地安装的插件。插件安装完之后都要重启Idea编辑器才生效~
二、自用插件推荐
1.Lombok
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码,简单来说Lombok通过注解的实现可以帮我们省去pojo中类的get()、set()、构造、toString()等方法啊,提高开发效率,并且代码看着更简洁。
这个插件需要引入pom依赖支持
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
搜索安装,重启Idea。
重启完之后,我们便可以创建一个UserBo类试一试。通过注解的方式,我们不需要在无脑的添加一些基本方法
比较常用的注解:
- @Getter/@Setter:作用类上,生成所有成员变量的getter/setter方法;作用于成员变量上,生成该成员变量的getter/setter方法。可以设定访问权限及是否懒加载等。
- @ToString:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段。
- @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode。
- @NonNull:主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。
- @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor:作用于类上,用于生成构造函数。有staticName、access等属性。staticName属性一旦设定,将采用静态方法的方式生成实例,access属性可以限定访问权限。
- @NoArgsConstructor:生成无参构造器;
- @RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器;
- @AllArgsConstructor:生成全参构造器
- @Data:作用于类上,其实就是@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor的组合
- @Builder:作用于类上,将类转变为建造者模式
- @Log:作用于类上,生成日志变量。针对不同的日志实现产品,有不同的注解。
- @Cleanup:自动关闭资源,针对实现了java.io.Closeable接口的对象有效,如:典型的IO流对象
2.Free Mybatis plugin
Free idea mybatis是一款增强idea对mybatis支持的插件,自认为比较实用的功能如下:
- 可以直接实现Dao和Mapper之间方法的跳转。
- 支持生成语句,@Param注释和xml的映射器,可以自动根据Dao层的方法Alt+Enter自动创建对应的Mapper方法。
- 在xml中支持一些有用的mapper重命名
- 支持mapper xml中select语句的正确结果类型
- 支持mapper xml的正确无法解析的属性值
- 支持在重命名mapper接口时重构mapper xml文件的名称
- 支持mapper xml中基于id的标记的重构
- 突出显示mapper xml的冲突元素为错误
- 在编辑sql时,Mapper参数在xml中自动完成
- 基于@Param注解
可以直接实现Dao和Mapper之间方法的跳转,这个是真的方便。
3.Alibaba Java Coding Guidelines
阿里巴巴Java编码指南插件,可以按照阿里的编码约束文档对代码进行检测,对不符合规范的代码给以说明,有一定的参考价值,强迫症不要下,因为凡是不符合规定的都会用波浪线标注出来。
插件添加完之后,右击所在的类会有选项帮助你进行规范检测,实时检测建议不开,我一开就感觉Idea会变卡。实时没太必要,写完在统一检测一遍就行
点击"编码规约扫描"之后编辑器下方会显示出来本类中不符合规范的代码,并且给出解释和所在位置。
4.Translation
不多说,一款翻译插件。记得之前一直被外行的人问,做程序员是不是英语要过6级啊,是不是英语说的要贼nb啊,额......
选中要翻译的词,默认快捷键Ctrl + Shift + Y,会自动翻译所选词,不需要复制粘贴到网页或软件在翻译,很方便。
尤其在看一些源码时,真的是方便。
另外安装完之后编辑器的右下角还可以选择不同的翻译工具。
5.Rainbow Brackets
简单说就是一款可以使括号变色的插件,并且可以使选中的"括号对"高亮显示,尤其是多个循环或者方法嵌套时再也不用一个一个去对括号了。(示例代码,不要纠结逻辑)
6.CodeGlance
一款代码鸟瞰图插件,可以将本类中的代码生成一份鸟瞰图,可以轻松定位代码位置,对于行数很多的类可以很快速的翻阅本类的代码。
7.Sequence Diagram
主要是可以生成简单的序列图。右击当前类,选择"sequence diagram"则可以生成该类的序列图,可以帮助快速理清楚该类的调用关系,点击图中的类或方法可以跳转到所选项。对于了解一个新项目或整理一个老项目都有很大的帮助。
8.Codota
AI协助编码,你没有听错,通过AI只能分析你想写啥,有点夸张,哈哈,不过贼好用,强力推荐。
安装插件
安装完之后重启idea,右侧栏会显示codota菜单,点击,然后点击"Learn Project Code"学习项目代码。
等到学习完毕,就可以用了。
简单介绍一些功能,当你敲代码时,会根据你输入的单词,自动检索相似词使用频次最高的。
当你声明变量名字时,会自动检索使用频次最高的初始化方法,直接使用。
检测示例代码,右击代码或方法,选择"Get relevant examples"查看示例代码,会将项目中用到相似方法显示出来,自己只需要举一反三即可。