idea Java 常备插件

351 阅读8分钟

一、Alibaba Java Coding Guidelines

阿里巴巴 Java 代码规范,对应的Github地址为:github.com/alibaba/p3c 。非常推荐安装!

安装完成之后建议将与语言替换成中文,提示更加友好一点。

image.png 根据官方描述:

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

上述提到的开发手册也就是在Java开发领域赫赫有名的《阿里巴巴Java开发手册》。

手动配置检测规则

你还可以手动配置相关 inspection规则

image.png

使用效果

这个插件会实时检测出我们的代码不匹配它的规则的地方,并且会给出修改建议。比如我们按照下面的方式去创建线程池的话,这个插件就会帮我们检测出来,如下图所示。

image.png

这个可以对应上 《阿里巴巴Java开发手册》 这本书关于创建线程池的方式说明。

image.png

二、generateO2O

定义一个函数,参数是待转换的类,返回值是要转换到的类型,然后使用generateO2O,就可以自动getter/setter属性。

在这里插入图片描述

生成的代码:

  public static User fun(UserQuery userQuery) {
    
    if (userQuery == null) {
    
      return null;
    }
    User user = new User();
    user.setId(userQuery.getId());
    user.setUsername(userQuery.getUsername());
    user.setPassword(userQuery.getPassword());
    user.setNickname(userQuery.getNickname());
    user.setGender(userQuery.getGender());
    user.setBirth(userQuery.getBirth());
    user.setEmail(userQuery.getEmail());
    user.setRole(userQuery.getRole());
    user.setStatus(userQuery.getStatus());
    return user;
  }

三、Lombok

Lombok 是一个jar包,可以节约很多敲代码的工作,适当的为自己增加一点趁手的工作。
官网地址:projectlombok.org/
最常用的就是@Data,@Log
最近在使用idea,就记录一下在这个下面使用的方式吧。

image.png 在步骤4,应该是个install,我的这个截图是已经安装完成的。
步骤5,如果在线安装不成,可以试试离线安装。

开启 Enable annotation processing

image.png

四、maven helper

这个我想应该是所有使用Idea开发者的标配插件了吧。

我经常使用到的功能便是可视化依赖书,可以清晰的知道,哪个Jar包传递依赖了什么,哪个jar包什么版本和什么版本冲突了。

排查Jar包依赖等问题用这个简直是神器。这个插件也提供了一些其他的快捷命令,右键直接唤起maven命令,颇为方便。

image.png

image.png

五、MybatisX

MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。

安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装。 参考:baomidou.com/pages/ba5b2…

六、PlantUML integration

最近项目使用IntelliJ IDEA来做后台的开发IDE工具,需要利用UML来做些设计。经过网上的查找,发现不少人推荐Plant UML工具不错,于是决定试试Plant UML 参考:cloud.tencent.com/developer/a…

七、SonarLint

SonarLint 帮助你发现代码的错误和漏洞,就像是代码拼写检查器一样,SonarLint 可以实时显示出代码的问题,并提供清晰的修复指导,以便你提交代码之前就可以解决它们。

image.png

八、Vuesion Theme

首先推荐是一款皮肤,每天对着看IDEA,默认的皮肤黑白两色,我个人总觉得白色太刺眼,黑色的有点太黑了,代码高亮也不好看,长时间难免看着有点审美疲劳。

颜值是生产力的第一要素,主题整好了,整个心情也好一点,心情好,自然bug就少点。。。是这个道理么?

在众多的IDEA的主题中,我钟爱这一款。非常适中的UI颜色,漂亮的代码高亮主题。看了半年多了,都没有审美疲劳。

image.png

废话不多说,直接看代码主题效果:

image.png

我知道每个人审美有所不同,有的小伙伴会说,我就是喜欢默认的暗黑色。okay啦,我只代表个人喜好。这里不杠。

九、Atom Material ICons

推荐的是一款ICON插件,相信也有很多小伙伴也有用。

其实这个Icon虽然不难看,但是我也没觉得多好看。那我为什么还要特意推荐??

image.png 部分效果如下:

image.png 其实不难看,那我就要说说这个icon插件附带的buff了。

idea在macOs下,无论是我用2018款的Macbook pro还是现在的Macbook pro m1版本,总感觉在拖动滚动条或是鼠标中键滚屏时有点卡顿,并不是电脑性能的问题,我在网上看到有其他小伙伴也遇到了这种情况。应该是idea对MacOs系统的优化问题。

我尝试过增大Idea的jvm缓存,尝试过优化参数。都无果,后来偶然一次机会在某个论坛上看到有一个人说,装了这个Icon插件之后就变的丝滑无比了,但不知道为啥。我抱着怀疑的态度装了下,卧槽,瞬间丝滑了。虽然我也不懂这是为什么,但是解决问题了之后这个Icon插件就变成必备插件了。如果有小伙伴遇到我想同的问题的话,那么请尝试。

这个buff是不是很强大呢。

十、GitToolBox

这款插件现在我几乎离不开它。

他能在项目上提示你还有多少文件没提交,远程还有多少文件没更新下来。还能在每一行代码上提示上次提交的时间。查版本提交问题的时候尤其方便。

image.png

image.png

image.png

十一、RestfulToolkit

名字:RestfulToolkitX

用途:为Restful相关技术栈开发提供便利,快速搜索接口,生成对象对应的JSON,接口调用。

使用方式:更多功能参考(github.com/huangbaihua…

测试url

image.png

测试结果 image.png

其他

一、自动注释

我们在开发的过程中,新建类,方法,接口等都需要写上注释,频繁的写注释很浪费时间,下面我为大家介绍一种自动生成注释的方式。

操作流程

  1. 打开Settings设置

  2. 打开Eduitor

  3. 选择 File and Code Templates

  4. 选择Files

  5. 选择 Class

  6. 选择 Interface

  7. 选择 Enum 等等……包括注解也可以设置。

image.png

一:生成类注释

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
 *
 * @className: ${NAME}
 * @Description: TODO 
 *
 * @version: v1.8.0
 * @author: GONGWENXUE
 * @date: ${DATE} ${TIME}
 *
 */
public class ${NAME} {
}

二:接口注释

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
 *
 * @className: ${NAME}
 * @Description: TODO 
 *
 * @version: v1.8.0
 * @author: GONGWENXUE
 * @date: ${DATE} ${TIME}
 *
 */
public interface ${NAME} {
}

三:方法注释:

打开 File - Setting 选择 File Templates,点击右上方的 “+” 进行新建模板,选择1 Live Template 是新建模板,2 Template Group是新建组。可以先新建一个自己的组,将自己建的模板全部放进去,这样方便管理。比如我新建的组是“myGroup”。

image.png

Abbreviation是输入模板快捷键代码,Expand with是输入键盘代号后立即选择此模板的快捷键(默认是Tab)。均可以根据自己的习惯选择。

方法注释模板代码:

/**
 * @Author GONGWENXUE
 * @Description //TODO $end$
 * @version: v1.8.0
 * @Date $time$ $date$
 * @Param $param$
 * @return $return$
 **/

另外需要注意的地方是 修改Edit variables,选择适当的时间和参数类别:

image.png

应用方法:m+tab键

二、VM 调整

点击help—>Edit Custom VM Options,会为我们打开idea.vmoptions文件,该文件配置了idea vm的参数信息。如果是第一次点击,会询问是否创建该文件。我们也可以从idea的安装路径中找到idea.vmoptions文件修改参数。

image.png 在该文件中添加如下配置信息,我的笔记本内存大小为8G,读者需根据自己电脑的内存大小设置相应值

-server
#IDEA启动时内存,好比是一间房的大门,门越大,进来的人越多。
-Xms4096m
#IDEA运行时最大内存。值越大,垃圾回收频率越低,卡顿次数越少。
-Xmx4096m
#保留代码占用的内存容量
-XX:ReservedCodeCacheSize=1024m

照着上面配置完以后,重启IDEA,如果运行速度没有极其明显的提高,你打我!

三、快捷键配置

相信很多小伙伴在重装IDEA,或者更换Mac电脑的时候需要重新配置IDEA快捷键的情况,

下面介绍下如何导出自定义IDEA快捷键。

IDEA再mac系统的默认配置的文件路径为:/Users/账号/Library/Preferences/IntelliJIdea2019.1

当我们再IDEA中保存一个自定义的快捷键配置是.

会在 /Users/账号/Library/Preferences/IntelliJIdea2019.1/keymaps 新建一个xml文件.这个xml文件就保存了  你自定义的快捷键配置,

image.png

<keymap version="1" name="lm_mac_eclipse" parent="Eclipse (Mac OS X)">

  <action id="AutoIndentLines" />

  <action id="Back">

    <keyboard-shortcut first-keystroke="meta open_bracket" />

    <mouse-shortcut keystroke="button4" />

    <keyboard-shortcut first-keystroke="meta alt left" />

  </action>

  <action id="ChooseRunConfiguration" />

  <action id="CollapseAllRegions">

    <keyboard-shortcut first-keystroke="shift meta divide" />

    <keyboard-shortcut first-keystroke="shift meta minus" />

  </action>

  <action id="DatabaseView.PropertiesAction" />

  <action id="ExpandAllRegions">

    <keyboard-shortcut first-keystroke="meta multiply" />

    <keyboard-shortcut first-keystroke="shift meta equals" />

  </action>

  <action id="Find">

    <keyboard-shortcut first-keystroke="meta f" />

  </action>

  <action id="Forward">

    <keyboard-shortcut first-keystroke="meta close_bracket" />

    <mouse-shortcut keystroke="button5" />

    <keyboard-shortcut first-keystroke="meta alt right" />

  </action>

  <action id="GotoImplementation">

    <keyboard-shortcut first-keystroke="ctrl alt b" />

  </action>

  <action id="ImplementMethods">

    <keyboard-shortcut first-keystroke="meta i" />

  </action>

  <action id="NextTab">

    <keyboard-shortcut first-keystroke="meta f6" />

  </action>

  <action id="PreviousTab">

    <keyboard-shortcut first-keystroke="shift meta f6" />

  </action>

  <action id="RenameElement">

    <keyboard-shortcut first-keystroke="shift f6" />

    <keyboard-shortcut first-keystroke="meta alt r" />

    <keyboard-shortcut first-keystroke="ctrl alt r" />

  </action>

  <action id="SaveAll" />

  <action id="SwitchApply">

    <keyboard-shortcut first-keystroke="ctrl alt enter" />

  </action>

  <action id="SwitchDown">

    <keyboard-shortcut first-keystroke="ctrl alt down" />

  </action>

  <action id="SwitchLeft">

    <keyboard-shortcut first-keystroke="ctrl alt left" />

  </action>

  <action id="SwitchRight">

    <keyboard-shortcut first-keystroke="ctrl alt right" />

  </action>

  <action id="SwitchUp">

    <keyboard-shortcut first-keystroke="ctrl alt up" />

  </action>

</keymap>

四、代码格式配置

统一组内代码格式,避免合并冲突及不必要的更改diff

  • 导入统一格式
    方式:IntelliJ IDEA——>Preferences——>Editor——>Code Style——>Java——>import Scheme
    导入完成后,选择Scheme中的code-format,点击ok即可。

image.png import同一个包下的多个类时,使用默认的如下配置,禁止修改

image.png 界面提交代码时使用默认勾选项,禁止修改,必须勾选 Reformat code,Perform code analysis, Check TODO

image.png

五、IntelliJ IDEA 自动导入包快捷键

image.png 光标移动到该包,然后 Ctrl+Enter

六、导出与导入 idea 配置

参考:www.i4k.xyz/article/qq_…

image.png