如何在Intellij IDEA实时模板groovy脚本中将变量传递给groovy代码?

Sha*_*ful 6 groovy intellij-idea live-templates

我有一个groovyScript我的IntellijIDEA实时模板,如下所示:

groovyScript("D:/test.groovy","", v1)
Run Code Online (Sandbox Code Playgroud)

在我的D:/test.groovy我有这样的代码:

if ( v1 == 'abc') {
    'abc'
}
Run Code Online (Sandbox Code Playgroud)

现在我想将v1变量传递给test.groovy,任何人都可以帮助我如何做到这一点?

dj_*_*nza 5

出于举例的目的,我制作了一个实时模板,该模板使用当前类和当前方法打印注释。

这是我的实时模板的定义方式:

在此处输入图片说明

这是我编辑variableResolvedWithGroovyScript变量的方式:

在此处输入图片说明

给定变量的表达式具有以下值:

groovyScript("return \"// Current Class:\" + _1 + \". Current Method:\"+ _2 ", className(),methodName())
Run Code Online (Sandbox Code Playgroud)

如您所见,在这种情况下,_1(在 groovy 脚本中的作用类似于变量)采用第一个参数的值,即类名,而 _2 采用第二个参数的值,即方法名称。如果需要另一个参数,将在 groovy 脚本中使用 _3 来引用给定的参数。


Pet*_*mov 2

groovyScript 宏的参数绑定到名为 _1、_2 等的脚本变量。编辑模板变量对话框/实时模板变量的 groovyScript 帮助中也对此进行了描述。