一、文章说明
- 用IDEA的朋友应该知道生成注释的模板@param是把多个参数通过了,分隔放在了一行上
- 那么对于需要给每一个参数作说明的话是很不方便的,需要自己手动复制删除,比较繁琐
- 所以网友也提供了一个groovyScript替换了原来@param生成,但是这个脚本有一个问题就是生成注释后输入字符除了第一个@param外下面的@param会缩进,我看网上也很少有解决方法,所以接下来说一下解决方案
二、问题介绍
- 原始网友提供的脚本如下
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’ : ‘’)}; return result", methodParameters())
- 配置完成后生成注释在没有输入注释内容之前如下图所示
- 此时发现@param是对齐的,但是当输入注释内容@param就会自动缩进
- 如果不解决就需要手工格式化,拒绝繁琐的工作,所以我们需要脚本进行改进
三、问题解决
- 从脚本可以发现,每一行换行都是追加的 * @param,而问题是除了第一个@param外下面的@param会缩进
- 所以我们解决方案就是除了第一个外,后面的@param在前面多加几个空格,根据自己的代码风格来设置,比如我的风格是4个空格,所以在原来的基础上多加四个空格,比如
- 修改后的脚本如下
groovyScript(“def result=’’; def params=”${_1}".replaceAll(’[\\[|\\]|\\s]’, ‘’).split(’,’).toList(); for(i = 0; i < params.size(); i++)
{result+=((i > 0) ? ’ * @param ': ’ * @param ') + params[i] + ((i < params.size() - 1) ? ‘\n’ : ‘’)}; return result", methodParameters())
- 测试结果,输入内容回车也好还是tab也好,@param不再缩进