一、新建java文件时添加注释
在File->Setting->Editor→File and Code Templates选择Includes→File Header
添加如下代码段
代码
1 2 3 4 5 | /** * @author: ${USER} * @since: ${DATE} ${HOUR}:${MINUTE} * @description: */ |
勾选Enable Live Templates->Apply

应用后新建文件时,会自动添加作者,创建时间,描述的注释
二、设置自动补全方法注释
在File->Setting->Editor→Live Templates点击右边add加号
先添加Template Group,名称可自定义
然后添加Live Template
点击Live Template,在Abbreviation中输入*,Description中自定义描述
Template Text中输入如下代码段
代码
1 2 3 4 5 6 7 | * * $description$ $param$ * @return $returns$ * @author $user$ * @since $date$ $time$ */ |
注意:此处第一行是一个*,不要写成/**
点击右侧Edit variables
按下图配置

其中param的Expression代码段为:
代码
1 | groovyScript( "def result='';def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();def types=\"${_2}\".replaceAll('[\\\\[|\\\\]]','').split(', ').toList();for(i = 0; i < params.size(); i++){def p1=types[i].split('<').toList();def p3='';for(i2=0;i2<p1.size();i2++){if(i2!=0){p3+='<';}; def p2=p1[i2].split('\\\\.').toList();p3+=p2[p2.size()-1];};result+=' * @param ' + params[i] + ' ' + p3 + ((i < params.size() - 1) ? '\\n' : '')};return result" ,methodParameters(),methodParameterTypes()) |
支持 复杂参数情况

第一行是methodParameterTypes()返回的入参类型列表
注意:如果idea版本在2020.3以下,会在Expression获取时缺失methodParameterTypes()方法,得到的参数类型会为null
returns的Expression代码段为:
代码
1 | groovyScript( "def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split('<').toList(); for(i = 0; i < params.size(); i++) {if(i!=0){result+='<';}; def p1=params[i].split(',').toList(); for(i2 = 0; i2 < p1.size(); i2++) { def p2=p1[i2].split('\\\\.').toList(); result+=p2[p2.size()-1]; if(i2!=p1.size()-1){result+=','} } ; }; return result" , methodReturnType()) |
description 不勾选Skip if defined 时自动补全注释后 光标停留在注释第一行,填写方法描述,
勾选Skip if defined 时自动补全注释后 光标在注释末尾
首次添加时,点击最下方“Define”,勾选Java全部,后续可以按 “Change” 更换。
默认用Tab键自动补全代码,如果想用Enter自动补全代码,点击右边的Expand With,换成Enter即可

维护完成后在接口的方法上输入/** + Tab,即可自动补全方法注释
如果想换成/** + 回车来补全代码 ,可以修改右侧Expand with 改成Enter
例如:

接口被调用处,鼠标移到方法上,自动显示注释描述的信息
