Intellij IDEA设置和插件推荐

工欲善其事,必先利其器

一个顺手好用的IDE工具或者插件,哪怕能提升你1%的研发效率,也是值得使用的

下面是我自己个人使用的IDEA插件和设置,留作备份用

设置

忽略大小写匹配

自动生成serialVersionUID

记得搜索,好找一些

注释模板

Getter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* Getter method for property <tt>$field.name</tt>.
*
* @return property value of $field.name
*/
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
is##
#else
get##
#end
${name}() {
return $field.name;
}

Setter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* Setter method for property <tt>$field.name</tt>.
*
* @param $field.name value to be assigned to property $field.name
*/
#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
#if ($field.name == $paramName)
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
#end
$field.name = $paramName;
}

文件头

图里蓝色的几个前面都替换成以下内容

1
2
3
4
5
6
7
8
9
/*
* xu.ci Inc.
* Copyright (c) 2004-${YEAR} All Rights Reserved.
*/
#if(${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
/**
* @author ShadowSaint.loki
* @version \$Id: ${NAME}.java, v 0.1 ${YEAR}-${MONTH}-${DAY} ${TIME} ShadowSaint.loki Exp $$
*/

插件

功能向

Alibaba Java Coding Guidelines

地址:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines

著名的阿里巴巴开发规约

虽然有一些内容我个人并不认可(忘了具体是什么了),按照我个人的开发习惯会告警

但是绝大部分内容是我非常认可的,力求做到每个文件都无ERROR,无WARNING

Codota AI Autocomplete for Java and JavaScript

地址:https://plugins.jetbrains.com/plugin/7638-codota-ai-autocomplete-for-java-and-javascript

一个代码提示工具,利用机器学习推测你最有可能要打的代码,比idea原生自带的好用

并且在类、方法上选中–>单击右键–>Get relevant examples,可以搜索这个类的用法

⚠️由于会分析你的代码,🈲️禁止在公司环境使用,否则一切后果本人概不负责

Git Commit Template

地址:https://plugins.jetbrains.com/plugin/9861-git-commit-template

顾名思义,git的commit信息模板,git提交信息可不能乱写,后面看起来那可太费劲了

Lombok

地址:https://plugins.jetbrains.com/plugin/6317-lombok

用了它,再也不会有人吐槽Java都是ser/get方法了吧,专注于写逻辑代码

⚠️ Lombok的github主页已经说明,在idea的2020.3版本开始,已经默认集成了Lombok,上面地址只提供给历史版本啦

Free MyBatis plugin

地址:https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin

mapper.java是不是总是找不到对应的mapper.xml方法,用了它就可以自动跳转了

  • 生成mapper xml文件
  • 快速从代码跳转到mapper及从mapper返回代码
  • mybatis自动补全及语法错误提示
  • 集成mybatis generator gui界面
  • 根据数据库注解,生成swagger model注解

VisualVM Launcher

地址:https://plugins.jetbrains.com/plugin/7115-visualvm-launcher

做迭代设计的时候,有时候总要分析一下占用内存情况。比如是否能从数据库里捞取多少条数据、或者直接把很大的对象序列化后放进redis占用多少内存,需要一个分析工具,那么就是它了

粘一个配置:

美化向

Yet another emoji support

地址:https://plugins.jetbrains.com/plugin/12512-yet-another-emoji-support

可以在idea中使用emoji啦🎉

Rainbow Brackets

地址:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets

彩虹🌈括号,我不喜欢IDEA的界面是单色的,个人感觉对眼睛不好

One Dark theme

地址:https://plugins.jetbrains.com/plugin/11938-one-dark-theme

主题,界面变得花里胡哨的了,还是因为我不喜欢单色的界面,觉得对眼睛不好,用了该主题后service都变成红色的了,需要适应,不过找错误的地方直接点一下build project,就定位到错误的地方了,也挺方便的

市场上主题有很多,直接搜theme就行了,主题这个东西全看个人喜好

Comments

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.