1. GitHub Copilot
https://copilot.github.com/
2. Key Promoter X 快捷键提示插件
当代码很多的时候,方便查看,很有用。
每次都会在右下角弹窗提示,帮助我们快速熟悉快捷键。
3. CodeGlance 显示代码缩略图插件
4. Mybatis Log打印sql
5. Alibaba Java Coding Guidelines 阿里巴巴代码规范检查插件
会按照阿里Java开发手册上规范帮我们检查代码,然后对代码做不同颜色展示,鼠标放上去,会看到提示内容,帮助我们写出更规范的代码。
6. CamelCase 驼峰命名和下划线命名转换
这几种风格的命名方式,用快捷键 ⇧ + ⌥ + U / Shift + Alt + U可以进行快速转换,当我们需要修改大量变量名称的时候很方便。
7. MybatisX 高效操作Mybatis插件
8. SonarLint 代码质量检查插件
提示我不要用System.out输出,要用logger输出,诸如此类,帮助我们提升代码质量。
9. Save Actions 格式化代码插件
可以帮忙我们优化包导入,自动给没有修改的变量添加final修饰符,调用方法的时候自动添加this关键字等,使我们的代码更规范统一。
10. CheckStyle 代码风格检查插件
功能跟Alibaba Java Coding Guidelines类似
11. Grep Console 自定义控制台输出格式插件
12. MetricsReloaded 代码复杂度检查插件
13. Statistic 代码统计插件
14. Translation 翻译插件
15. Rainbow Brackets 彩虹括号插件
可以通过设置页 Settings > Editor > Color scheme > Rainbow Brackets 自定义括号的颜色
成对儿的括号显示相同的颜色,有了这个插件,我的近视都好了。
16.Maven Helper
17.easycode-mybatiscodeHelper
代码生成
18.elasticsearch
注意:收费软件
19. Stackoverflow
这个插件其实是最实用的插件,程序猿遇到的问题,基本都能找到回答,但是它使用的是google搜索引擎,所以你懂的。
选中需要搜索的问题,然后,右键点击
狂拽屌指数:☆
实用指数:★★★★★
20、FindBugs
Idea自带的检查工具已经很强大,如有需要也可以加上Alibaba Java Coding Guidelines的代码检查工具,但是,说白这些工具其实更多的是规范性检查,如果需要更深入的去检查异常,可以使用此插件~
右键点击文件,包或者工程,会出现如下界面
狂拽屌指数:☆
实用指数:★★★★★
21、Nyan Progress Bar
都说了,相亲见面第一印象很重要,如果你邀请设计,前端小姐姐老观看你的Idea,她肯定会觉得原来男孩子也会这么精致呀~
形象陡然上升~
就问你,这么绚丽多彩的颜色,哪个小姐姐不为你着迷~
狂拽屌指数:★★★★
实用指数:★★☆
22、Power Mode II
Boom, Boom ,Boom, Boom 还有谁?!整个屏幕都在颤抖和炸裂,来来,跟随我的脚步,不如不如跳舞,免费蹦迪,玩的是心跳~
为了更加凸显,它的狂,拽,屌(自己不会弄动图,只能去网上盗图啦)
狂拽屌指数:★★★★★
实用指数:☆
23、String Manipulation
24、GsonFormatPlus
25、JUnitGenerator
生成单元测试
26、Sequence Diagram
生成时序图
27、 Restful Tool
取代postman
28、 EnvFile
29.File Expander
在idea打开tar.gz和zip,反编译jar
30.GitToolBox
在项目上提示还有多少本地文件没提交,远程还有多少文件没有拉取下来
31.arthas idea
阿里巴巴的java在线诊断工具
# 修改全局配置,提升工作效率
1. 优化导包配置
pom发生改变,立即导包可能会引起卡顿
2. 取消tab页单行显示
多行显示更多的文件,方便查看。
CTRL+鼠标滚轮缩放页面
3. 双斜杠注释改成紧跟代码头
4. 选中复制整行
原本只会复制你选中的代码,改完配置后,就能复制整行,无论你是否完全选中。
5. 取消匹配大小写
取消勾选后,输入小写 s ,也能提示出 String
6. 设置注释颜色
7. 创建文件时,自动生成作者和时间信息
/**
* description
* @author Raint
* @date ${DATE} ${TIME}
*/
8 . 显示行号和方法分割线
9 . 字体
JetBrains Mono
10.常用快捷键
Ctrl+F 在本页查找
ctrl+shift+f全局查找
ctrl+shift+r全局替换
Ctrl+Shift+N 按文件名搜索文件
Ctrl+H 查看类的继承关系,例如HashMap的父类是AbstractMap,子类则有一大堆
Ctrl+Alt+B 查看子类方法实现
Ctrl+B 可以查看父类或父方法定义,但是不如ctrl+鼠标左键方便。但是在这里,Ctrl+B或ctrl+鼠标左键只能看见Map接口的抽象方法put的定义,不是我们想要的,这时候Ctrl+Alt+B就可以查看HashMap的put方法。
Alt+F7 查找类或方法在哪被使用
Shift+Shift 搜索任何東西
shift+shift 非常强大,可搜索类、资源、配置项、方法等,还能搜索路径。其中搜索路径非常实用,例如你写了一个功能叫hello,在java,js,css,jsp中都有hello的文件夹,那我们可以搜索”hello/“找到路径中包含hello的文件夹。
11.idea快捷键生成注释生成模板
# 类注释
打开 IDEA 的 Settings,点击 Editor—>File and Code Templates,点击右边 File 选项卡下面的 Class,在其中添加图中红框内的内容:
/* @author jitwxs @date ${YEAR}年${MONTH}月${DAY}日 ${TIME} /
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
* @author Raint
* @date ${YEAR}年${MONTH}月${DAY}日 ${TIME}
*/
public class ${NAME} {
}
在我提供的示例模板中,说明了作者和时间,IDEA 支持的所有的模板参数在下方的 Description 中被列出来。
保存后,当你创建一个新的类的时候就会自动添加类注释。如果你想对接口也生效,同时配置上图中的 Interface 项即可。
# 方法注释
不同于目前网络上互相复制粘贴的方法注释教程,本文将实现以下功能:
- 根据形参数目自动生成 @param 注解
- 根据方法是否有返回值智能生成 @Return 注解
相较于类模板,为方法添加注释模板就较为复杂,首先在 Settings 中点击 Editor—>Live Templates。
点击最右边的 +,首先选择 2. Template Group… 来创建一个模板分组:
在弹出的对话框中填写分组名,我这里叫做 userDefine:
然后选中刚刚创建的模板分组 userDefine,然后点击 +,选择 1. Live Template:
此时就会创建了一个空的模板,我们修改该模板的 Abbreviation、Description 和 Template text。需要注意的是,Abbreviation 必须为 *,最后检查下 Expand with 的值是否为 Enter 键。
上图中· Template text 内容如下,请直接复制进去,需要注意首行没有 /,且 * 是顶格的。
/**
* @description $description$
$param$
* @return $return$
*/
注意到右下角的 No applicable contexts yet 了吗,这说明此时这个模板还没有指定应用的语言:
点击 Define,在弹框中勾选Java,表示将该模板应用于所有的 Java 类型文件。
还记得我们配置 Template text 时里面包含了类似于 $date$ 这样的参数,此时 IDEA 还不认识这些参数是啥玩意,下面我们对这些参数进行方法映射,让 IDEA 能够明白这些参数的含义。点击 Edit variables 按钮:
为每一个参数设置相对应的 Expression:
需要注意的是,date 和 time 的 Expression 使用的是 IDEA 内置的函数,直接使用下拉框选择就可以了,而 param 这个参数 IDEA 默认的实现很差,因此我们需要手动实现,param 代码如下:
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n ' : '')}; return result", methodParameters())
return代码如下:
methodReturnType()
注:你还注意到我并没有勾选了 Skip if defined 属性,它的意思是如果在生成注释时候如果这一项被定义了,那么鼠标光标就会直接跳过它。我并不需要这个功能,因此有被勾选该属性。
点击 OK 保存设置,大功告成!
# 检验成果
1 类注释
类注释只有在新建类时才会自动生成,效果如下:
2 方法注释
将演示以下几种情况:
- 无形参
- 单个形参
- 多个形参
- 无返回值
- 有返回值
# Q & A
(1)为什么模板的Abbreviation 一定要叫 * ?Expand with 要保证是 Enter 键?
答:因为 IDEA 模板的生成逻辑是 模板名 + 生成键,当生成键是 Enter 时,我们输入 * + Enter 就能够触发模板。
这也同时说明了为什么注释模板首行是一个 了,因为当我们先输入 /,然后输入 + Enter,触发模板,首行正好拼成了 /*,符合 Javadoc 的规范。
(2)注释模板中为什么有一行空的*?
答:因为我习惯在这一行写方法说明,所以就预留了一行空的写,你也可以把它删掉。
(3)注释模板中$time$$param$ 这两个明明不相干的东西为什么紧贴在一起?
答:首先网上提供的大部分 param 生成函数在无参情况下仍然会生成一行空的 @param,因此我对param 函数的代码进行修改,使得在无参情况下不生成 @param,但是这就要求 $param$ 要和别人处在同一行中,不然没法处理退格。
(4)为什么 return 参数不使用methodReturnType(), 而要自己实现?
答:methodReturnType() 在无返回值的情况下会返回 void,这并没有什么意义,因此我对 methodReturnType() 返回值进行了处理,仅在有返回值时才生成。
(5)为什么$return$ 不是单独一行?
答:因为当 methodReturnType() 返回 null 时,无法处理退格问题,原因同第三点。
12.工具栏