- 类注释模板设置
-
- 使用 File and Code Templates
-
- 方法 1:直接在编辑区编写模板代码
- 方法 2:使用 parse 指令来引用注释模板
- 使用 Live Templates
- 方法注释模板设置
-
- 注意事项
- 解决注释模板无法获取参数名和返回值类型的问题
File and Code Templates用来配置文件和代码模板,即文件在创建的时候自动会按文件模板生成代码注释。
按快捷键command + ,或者 点击 IntelliJ IDEA --> Preferences 打开偏好设置,如下图所示:
然后选择 Editor --> File and Code Templates --> Files --> Class,如下图所示:
类注释模板代码如下(可以直接复制使用):
/**
* @ClassNAME ${NAME}
* @Description TODO
* @Author ${USER}
* @Date ${DATE} ${TIME}
* @Version 1.0
*/
关于注释模板中的变量,你可以参考 Description 的相关说明:
设置好之后,每次创建类就会自动添加类注释啦!
注意:如果直接使用编辑区中的模板代码,那么 #parse 指令所引用的模板需要清空
方法 2:使用 parse 指令来引用注释模板Using the #parse directive, you can include templates from the Includes tab, by specifying the full name of the desired template as a parameter in quotation marks. For example: #parse(“File Header.java”)
翻译:对想要使用的模板指定一个全名,将这个名称作为一个参数放在指令parse的双引号内,这样可以引用Includes tab中定义的模板
步骤 1:新建模板
在Includes tab中新建模板,根据需要对模板命名,如下图所示:
步骤 2:编写模板代码
在右侧的编辑区内编写注释模板代码,如下图所示:
步骤 3:使用parse指令来引用模板
注:默认是引用File Header模板,所以通常是在File Header编辑注释模板即可,然后通过parse("File Header.java")引用即可
Live Templates 用来配置动态模板,可以在指定位置使用缩写字母自动生成注释。
步骤 1:创建动态模板
步骤 2:给模板命名,并设置扩展按键
先设置模板的扩展按键,然后采用缩写形式给模板命名,并对模板进行描述,如下图所示:
如上图所示的设置,输入cc + enter就可以生成注释
步骤 3:编写注释模板代码
在 Template text 编辑区编写注释模板代码
Live Template 的注释模板代码中的变量比较特别,需要在变量名称的首尾加上美元符号$,如下所示:
/** * @className $name$ * @description TODO * @author $user$ * @date $time$ $date$ * @version 1.0 */
步骤 4:对使用到的变量设置表达式
注释模板中引用了变量,但是变量的值如何获取,需要另外配置表达式才行。点击右侧Edit variables,打开设置窗口,如下图所示:
注:右边的Skip if defined建议全部打勾,这样有内容的注解就不会默认处于编辑状态(出现红色边框)。
步骤 5:设置模板的应用范围
将模板仅应用于 Java
方法注释模板只能通过 Live Templates 来设置,设置流程同上述使用 Live Templates 设置类的注释模板一样。
配置模板中的自定义变量:
方法注释模板的代码如下:
/** * @description TODO * @methodName $name$ * @param $param$ * @return $return$ * @author $user$ * @date $time$ $date$ */
或者
/** * * @param $param$ * @return $return$ * @author $author$ * @date $date$ $time$ */注意事项
正常配置的方法注释模板有问题,不能在方法外部正常使用,只能在方法内部正常使用,如下动态图所示:
但是 IDEA 默认的方法文档注释则可以在外部正常使用,可以获取方法参数、返回值类型、异常类型等信息;但是在方法内部则无效,如下动态图所示:
正常配置的方法注释模板在使用时存在缺陷,在方法外部添加注释,根本无法获取到方法的参数、返回值类型等信息,只能在方法体内部使用。如果希望在方法外部使用注释,并且可以正常获取到方法的参数和返回值类型等信息,需要写 groovy 脚本代码。
注释模板必须按下面的格式写:
** * $end$ $param$ * @return $return$ * @throws * @author $user$ * @date $date$ $time$ */
模板变量的配置如下:
对应的param变量的 groovy 的脚本代码如下:
// 推荐这段代码 groovyScript("def result = '';def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++){result += ((i != 0) ? '\\n ':'') + '* @param ' + params[i]}; return result == '' ? '* @param ' : result", methodParameters()) 格式化代码: groovyScript( " def result = ''; def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for (i = 0; i < params.size(); i++) { result += ((i != 0) ? '\\n ':'') + '* @param ' + params[i] }; // 当变量result的值为空字符串时,这里有特别处理 return result == '' ? '* @param ' : result
", methodParameters() ) // 推荐这段代码 groovyScript("def result = ''; def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++){result += ((i != 0) ? '\\n ':'') + '* @param ' + params[i]}; return result", methodParameters()) 格式化: groovyScript( " def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) { result += ((i != 0) ? '\\n ':'') + '* @param ' + params[i] }; // 变量result为空字符串时,这里并没有特别处理,具体也可以 return result
", methodParameters() )
对应的return变量的 groovy 的脚本代码如下:
// 返回值类型会显示类的全限定名 groovyScript("return (\"${_1}\" == 'void') || (\"${_1}\" == 'null') ? '' : \"${_1}\"", methodReturnType()) // 或者这段代码,返回值类型只显示类型的名称,例如:ArrayList groovyScript("def returnType = \"${_1}\"; def result ='';if(returnType=='null'||returnType=='void'){return '';}else{cls = returnType.split('<');for(i = 0; i < cls.size(); i++){temp = cls[i].tokenize('.');result += temp[temp.size() - 1] + ((i < cls.size() - 1) ? '<' : '');};return result + ' ';}", methodReturnType());
配置完成后,在方法的上面先输入/*,再按 Enter 键就会自动生成注释了。
