Javadoc
方法
模板文本
打开idea设置,搜索“live template”,进入实时模板。
首先新建组,组建好之后新建动态模板。
*
* <b>
* description: $TODO$
* </b><p>
* date_time: $DATE$ $TIME$
$param$$return$
* @author H_x_d
*/
编辑变量
参数默认值
groovyScript("if(\"${_1}\".length() == 2) {return '*';} else {def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();for(i = 0; i < params.size(); i++) {if(i==0){result+='\\n' + '*' + '\\n' + '* @param ' + params[i] + ' ' + params[i]}else{result+='\\n' + ' * @param ' + params[i] + ' ' + params[i]}}; return result;}", methodParameters());
如果出现星号不对齐,换用以下
groovyScript("if(\"${_1}\".length() == 2) {return ' *';} else {def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();for(i = 0; i < params.size(); i++) {if(i==0){result+=' *' + '\\n' + ' * @param ' + params[i] + ' ' + params[i]}else{result+='\\n' + ' * @param ' + params[i] + ' ' + params[i]}}; return result;}", methodParameters());
返回值默认值
groovyScript("def returnType = \"${_1}\"; if(returnType!='void'){def result = '\\n * @return ' + returnType; return result;}", methodReturnType());
适用位置
可以设置默认所有位置
缩写
设置触发的标识,代码中写入标识后按Tab生成模板。
最终效果
类、接口、枚举、注解
class可替换为interface、enum、@interface
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
* <b>
* description: #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")${PACKAGE_NAME}#end.${NAME}.java
* </b><p>
* date_time: ${DATE} ${TIME}
*
* @author H_x_d
*/
public class ${NAME} {
}
Jsdoc
同idea,进入live template。
方法
模板文本
*
* description: $TODO$
* date_time: $DATE$ $TIME$
*
* @author H_x_d
*/
编辑变量
后续
其他设置同idea
使用方法
在方法上一行,输入“/*”,在按触发生成模板的快捷键(默认为"*")。
注
由于webstorm中对jsdoc提供的方法较少,参数不能自动获取生成,且vue文件中不能切换渲染视图。所以模板中未添加@param和@return。