配置类注释模板和方法注释模板
- IDEA模板
- 预定义变量
- 类注释模
- 方法注释模板
- 方法参数优化
IDEA模板
在IDEA中,自带的注释模板可能不满足自身需求或者不满意,此时可以通过配置IDEA模板来解决。
预定义变量
内置模板是可编辑的,除了静态文本、代码和注释外,还可以使用预定义变量。
预定义变量接收以下值
预定义变量 | 描述 |
---|---|
${PACKAGE_NAME} | 在其中创建新文件的软件包名称 |
${USER} | 当前的用户系统登录名 |
${DATE} | 当前系统日期 |
${TIME} | 当前系统时间 |
${YEAR} | 当前年度 |
${MONTH} | 当前月份 |
${MONTH_NAME_SHORT} | 当前月份名称的前 3 个字母。 例如:Jan、Feb 等 |
${MONTH_NAME_FULL} | 当前月份的全名。 例如:January、February 等 |
${DAY} | 当前月份的日期 |
${DAY_NAME_SHORT} | 当前日期名称的前 3 个字母。 例如:Mon、Tue 等 |
${DAY_NAME_FULL} | 当前日期的全名。 例如:Monday、Tuesday 等 |
${HOUR} | 当前小时 |
${MINUTE} | 当前分钟 |
${PROJECT_NAME} | 当前项目名称 |
类注释模
IDEA安装了中文语言包插件,故显示中文。英文界面,操作菜单大概是:File-->settings-->Editor-->File and Code Templates
模板内容如下
/***@Description TODO*@Author CJ*@Date ${YEAR}-${MONTH}-${DAY}*/
创建一个Test类测试
/*** @Description TODO* @Author CJ* @Date 2022-08-02*/
public class Test {
}
方法注释模板
新建模板组,区别IDEA自带的模板组
选择新建模板组,再新建实时模板
按照如下配置即可
模板内容如下
*** @Description: TODO* @Author: CJ* @Date: $date$ $time$* @Param: $param$* @return: $return$ **/
指定那种语言使用此模板
为每个参数选择对应的方法
创建方法进行测试
/*** @Description: TODO* @Author: CJ* @Date: 2022/8/2 15:08* @Param: []* @return: java.util.Map **/public Map test1() {return null;}/*** @Description: TODO* @Author: CJ* @Date: 2022/8/2 15:08* @Param: [a, b]* @return: java.util.Map **/public Map test2(Integer a, String b) {return null;}
方法参数优化
以JavaDoc格式形式叙述参数,需要自定义参数以及返回值的实现方式
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] == '') return result;if(i==0) result += '\\n'; result+=' * @Param ' + params[i] + ': ' + ((i < params.size() - 1) ? '\\n' : '')}; return result", methodParameters())
模板内容如下
*** @Description: TODO* @Author: CJ* @Date: $date$ $time$ $param$* @return: $return$ **/
效果如下
/*** @Description: TODO* @Author: CJ* @Date: 2022/8/2 15:17 * @return: java.util.Map **/public Map test1() {return null;}/*** @Description: TODO* @Author: CJ* @Date: 2022/8/2 15:17 * @Param a: * @Param b: * @return: java.util.Map **/public Map test2(Integer a, String b) {return null;}