IDEA代码规范插件P3C+代码注释模板配置方法
IDEA配置阿里规范插件P3C
进入idea -》File -》 Settings -》Plugins
到搜索框中搜索:Alibaba Java Coding Guidelines
下载安装插件,安装之后重启IDEA ,进入你的编辑器右击会发现多
了,检查规范和关闭检查。
检查会发现你这个java文件是否存在问题并给出提示如:
也常常遇到类是 class 或者方法上面缺少 javadoc注解 如:
- 所有的类都必须添加创建者信息
- 所有的抽象方法(包括接口中的方法)必须要用javadoc注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能。
通过添加java 类 、方法注释模板来满足这些需求
- 开发工具 :IDEA
- 代码格式化模板 : 阿里格式化模板
- 注释模板样例
/** * 类模板样例 * Demo class (描述) * * @author keriezhang * @date 2016/10/31 20:07 */ public class CodeNoteDemo { }
/** * 方法模板样例 * fetch data by rule id (描述) * * @author keriezhang * @date 2016/10/31 20:07 * @param ruleId rule id * @param page page number * @param jsonContext json format context * @return Result<XxxxDO> */ Result<XxxxDO> fetchDataByRuleId(Long ruleId, Integer page, String jsonContext);
IDEA配置模板步骤
配置全局USERHelp->Edit Custom VM Options...
配置全局USER,用于填充自动生成的注释中的作者@author属性。添加一行 -Duser.name=xxx
(xxx为名称)
配置类注释模板 settings->Editor->File and Code Templates->files->class
增加注释模板内容:
/** * ${description} * @author ${USER} * @date ${YEAR}/${MONTH}/${DAY} ${HOUR}:${MINUTE} **/
新创建java文件时,会提示输入类描述description,生成的文件格式如下:
package tuan.press.test; /** * 测试类 * @author keriezhang * @date 2016/10/31 20:07 **/ public class MyTests { }
配置方法注释 Editor->Live Template->java
新建Live Template,进行如下配置:
第5步,适用场景配置如下:
第6步,模板变量配置如下:
配置参数
- 缩写Abbreviation:
*
- 模板Template text:
* * * @author $user$ * @date $data$ $time$$param$ * @return $return$ */
变量配置
- user:user()
- date: date("yyyy/MM/dd")
- time:time("HH:mm")
- param:groovyScript("if(\"${_1}\".length() == 2) {return '';} else {def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();for(i = 0; i < params.size(); i++) {result+='\\n' + ' * @param ' + params[i] + ' '}; return result;}", methodParameters());
- return:methodReturnType()
方法注释使用
在java方法上输入/**后,按下tab键,即可在方法上方生成方法注释,如下:
/** * (①方法描述) * @author keriezhang * @date 2016/05/07 10:07 * @param message (②参数描述) * @param name (②参数描述) * @return java.lang.String (③返回值描述) */ public String myTest(String message,String name){ return ""; }