问题描述
我是groovy的新手,我想通过实时模板为方法生成参数注释,例如“@param [参数名称] [参数类型]”。预定义的函数“methodParameters()”无法做到这一点,所以我想要通过预定义的函数“groovyScript”运行自定义 grooy 脚本。
名为“test.groovy”的自定义脚本如下:
def methodParameters=_1
def methodParameterTypes=_2
def result='';
def params=methodParameters.replaceAll('[\\\\[|\\\\]|\\\\s]','').split(',').toList();
def type=methodParameterTypes.replaceAll('[\\\\[|\\\\]|\\\\s]',').toList();
for(i = 0; i < params.size(); i++) {
result+='* @param '+ params[i] + ' ' + type[i] + ((i < params.size() - 1) ? '\\n ' : '')
};
return result
我通过内联函数“groovyScript”调用这个脚本,如下所示:
groovyScript("D:\project\groovyDemo\src\test.groovy",methodParameters(),methodParameterTypes())
但我收到如下错误信息:
No signature of method: java.util.ArrayList.replaceAll() is applicable for argument types: (java.lang.String,java.lang.String) values: [[\\[|\\]|\\s],]Possible solutions: replaceAll(java.util.function.UnaryOperator)
我找不到任何想法来调试这个在 Idea 实时模板中使用的 groovy 脚本。谁能给我一些建议?
更新:
问题定义:
第二个问题,我向IntelliJ IDEA支持求助。他说我可以通过模拟脚本而不是直接调试来修复错误,但我不知道如何模拟。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)