一、Alibaba Java Coding Guidelines
阿里巴巴 Java 代码规范,对应的Github地址为:github.com/alibaba/p3c 。非常推荐安装!
安装完成之后建议将与语言替换成中文,提示更加友好一点。
根据官方描述:
目前这个插件实现了开发手册中的的53条规则,大部分基于PMD实现,其中有4条规则基于IDEA实现,并且基于IDEA Inspection实现了实时检测功能。部分规则实现了Quick Fix功能,对于可以提供Quick Fix但没有提供的,我们会尽快实现,也欢迎有兴趣的同学加入进来一起努力。 目前插件检测有两种模式:实时检测、手动触发。
上述提到的开发手册也就是在Java开发领域赫赫有名的《阿里巴巴Java开发手册》。
手动配置检测规则
你还可以手动配置相关 inspection规则
使用效果
这个插件会实时检测出我们的代码不匹配它的规则的地方,并且会给出修改建议。比如我们按照下面的方式去创建线程池的话,这个插件就会帮我们检测出来,如下图所示。
这个可以对应上 《阿里巴巴Java开发手册》 这本书关于创建线程池的方式说明。
二、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,就记录一下在这个下面使用的方式吧。
在步骤4,应该是个install,我的这个截图是已经安装完成的。
步骤5,如果在线安装不成,可以试试离线安装。
开启 Enable annotation processing
四、maven helper
这个我想应该是所有使用Idea开发者的标配插件了吧。
我经常使用到的功能便是可视化依赖书,可以清晰的知道,哪个Jar包传递依赖了什么,哪个jar包什么版本和什么版本冲突了。
排查Jar包依赖等问题用这个简直是神器。这个插件也提供了一些其他的快捷命令,右键直接唤起maven命令,颇为方便。
五、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 可以实时显示出代码的问题,并提供清晰的修复指导,以便你提交代码之前就可以解决它们。
八、Vuesion Theme
首先推荐是一款皮肤,每天对着看IDEA,默认的皮肤黑白两色,我个人总觉得白色太刺眼,黑色的有点太黑了,代码高亮也不好看,长时间难免看着有点审美疲劳。
颜值是生产力的第一要素,主题整好了,整个心情也好一点,心情好,自然bug就少点。。。是这个道理么?
在众多的IDEA的主题中,我钟爱这一款。非常适中的UI颜色,漂亮的代码高亮主题。看了半年多了,都没有审美疲劳。
废话不多说,直接看代码主题效果:
我知道每个人审美有所不同,有的小伙伴会说,我就是喜欢默认的暗黑色。okay啦,我只代表个人喜好。这里不杠。
九、Atom Material ICons
推荐的是一款ICON插件,相信也有很多小伙伴也有用。
其实这个Icon虽然不难看,但是我也没觉得多好看。那我为什么还要特意推荐??
部分效果如下:
其实不难看,那我就要说说这个icon插件附带的buff了。
idea在macOs下,无论是我用2018款的Macbook pro还是现在的Macbook pro m1版本,总感觉在拖动滚动条或是鼠标中键滚屏时有点卡顿,并不是电脑性能的问题,我在网上看到有其他小伙伴也遇到了这种情况。应该是idea对MacOs系统的优化问题。
我尝试过增大Idea的jvm缓存,尝试过优化参数。都无果,后来偶然一次机会在某个论坛上看到有一个人说,装了这个Icon插件之后就变的丝滑无比了,但不知道为啥。我抱着怀疑的态度装了下,卧槽,瞬间丝滑了。虽然我也不懂这是为什么,但是解决问题了之后这个Icon插件就变成必备插件了。如果有小伙伴遇到我想同的问题的话,那么请尝试。
这个buff是不是很强大呢。
十、GitToolBox
这款插件现在我几乎离不开它。
他能在项目上提示你还有多少文件没提交,远程还有多少文件没更新下来。还能在每一行代码上提示上次提交的时间。查版本提交问题的时候尤其方便。
十一、RestfulToolkit
名字:RestfulToolkitX
用途:为Restful相关技术栈开发提供便利,快速搜索接口,生成对象对应的JSON,接口调用。
使用方式:更多功能参考(github.com/huangbaihua…)
测试url
测试结果
其他
一、自动注释
我们在开发的过程中,新建类,方法,接口等都需要写上注释,频繁的写注释很浪费时间,下面我为大家介绍一种自动生成注释的方式。
操作流程
-
打开Settings设置
-
打开Eduitor
-
选择 File and Code Templates
-
选择Files
-
选择 Class
-
选择 Interface
-
选择 Enum 等等……包括注解也可以设置。
一:生成类注释
#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”。
Abbreviation是输入模板快捷键代码,Expand with是输入键盘代号后立即选择此模板的快捷键(默认是Tab)。均可以根据自己的习惯选择。
方法注释模板代码:
/**
* @Author GONGWENXUE
* @Description //TODO $end$
* @version: v1.8.0
* @Date $time$ $date$
* @Param $param$
* @return $return$
**/
另外需要注意的地方是 修改Edit variables,选择适当的时间和参数类别:
应用方法:m+tab键
二、VM 调整
点击help—>Edit Custom VM Options,会为我们打开idea.vmoptions文件,该文件配置了idea vm的参数信息。如果是第一次点击,会询问是否创建该文件。我们也可以从idea的安装路径中找到idea.vmoptions文件修改参数。
在该文件中添加如下配置信息,我的笔记本内存大小为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文件就保存了 你自定义的快捷键配置,
<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即可。
import同一个包下的多个类时,使用默认的如下配置,禁止修改
界面提交代码时使用默认勾选项,禁止修改,必须勾选 Reformat code,Perform code analysis, Check TODO
五、IntelliJ IDEA 自动导入包快捷键
光标移动到该包,然后
Ctrl+Enter