今天就针对如何在idea添加方法注释做了探索,遇到些问题,在这里记录下来,方便以后查找.
参考了下面 这篇文章,
最终在这篇基础上做了改良,非常感谢 !
使用的Live Templates 的方式, 之所以选择了这篇是有原因的: 这篇作者Live Template 定义的模板名是 *(使用了会发现其实有点巧妙) , 所以就可以按照Eclipse的方法注释方式生产注释: 按/**, 然后Tab键盘, 方法注释就生产了,非常完美!; 网上普遍的方式是将模板名定义为: mc, 使用方式也相应不同, 其实使用方式倒无所谓, 但是mc这种方式有个要求, 必须再方法内使用才行,要不产生的注释param 是null..., 所以你用这种方式,要么你忍受方法内写注释,要么你手动把方法内生成的注释移到外面...
先总结一下: 使用了* 的命名方式 + groovyScript脚本方式,弥补了IDEA的"这个不便"
踩坑过程如下:
按照作者细心步骤一路走了下来, 成功了
是这样的结果:
/**
*
* <br/>
* @param [aParam, bParam, cParam]
* @return int
* @author yuanss
* @date 2018/1/12 21:41
*/
public int testMethod(String aParam, int bParam, Boolean cParam) {
return 0;
}
但是这样,ctrl + Q 查看方法信息的时候, 看不到参数的信息了, 似乎这种形式不是我想要的。
我要的方法参数应该是这样的:
/**
*
* <br/>
* @param aParam
* @param bParam
* @param cParam
* @return int
* @author yuanss
* @date 2018/1/12 21:45
*/
public int testMethod(String aParam, int bParam, Boolean cParam) {
return 0;
}
于是又继续找了, 发现啊,
IDEA 中methodParameters(), 貌似是数组的形式(所以是[aParam, bParam, cParam]这样的结构),我看大家都再用一种叫做groovyScript的脚本来分解, 于是我也尝试了,但是呢,copy的脚本又不完美,有点瑕疵.长这个样子:
如果你也遇到这个问题, 那请继续往下看吧.
最后发现是脚本再处理换行的时候的问题,于是尝试修改了下,结果还真有用!
别人的版本:
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+=' * @param ' + params[i] + ((i < params.size() - 1) ? '\\n\\b' : '')}; return result", methodParameters())
我尝试修改后的:
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+=' * @param\\t' + params[i] + '\\t' + ((i < params.size() - 1) ? '\\n' : '')}; return result", methodParameters())
希望看到这里的能同样解决你的问题 *_*
附图:
附上模板文本:
*
* @description
* @author xianmengfei
* @date $date$ $time$
$params$
* @return $returns$
*/