Intellij idea IntelliJ IDEA LiveTemplate在使用之间自动递增

Intellij idea IntelliJ IDEA LiveTemplate在使用之间自动递增,intellij-idea,groovy,groovyscriptengine,Intellij Idea,Groovy,Groovyscriptengine,我正试图通过intelliJ中的Live模板使我的生活更轻松 每次使用代码段时,我都需要将一些参数增加1 所以我试着开发一些groovyScript,我很接近,但我的groovy功能让我望而却步。这个数字没有增加1,但由于某种原因增加了57。。。(UTF-8?) 以下是脚本: File file = new File("out.txt"); int code = Integer.parseInt(file.getText('UTF-8')); code=code+1; try{ if(_

我正试图通过intelliJ中的Live模板使我的生活更轻松 每次使用代码段时,我都需要将一些参数增加1

所以我试着开发一些groovyScript,我很接近,但我的groovy功能让我望而却步。这个数字没有增加1,但由于某种原因增加了57。。。(UTF-8?)

以下是脚本:

File file = new File("out.txt");
int code = Integer.parseInt(file.getText('UTF-8'));
code=code+1;
try{
    if(_1){
        code = Integer.parseInt(_1);
    }
} catch(Exception e){}
file.text = code.toString();
return code
因此,每当有param传递给这个脚本(使用_1)时,就会设置初始值,否则就简单地递增

此脚本需要通过以下方式传递到live template param:

groovyScript("File file = new File(\"out.txt\");int code = Integer.parseInt(file.getText(\'UTF-8\'));code=code+1;String propName = \'_1\';if(this.hasProperty(propName) && this.\"$propName\"){code = Integer.parseInt(_1);};file.text =code.toString();return code", "<optional initial value>") 
groovyScript(“File File=new File(\'out.txt\”);int code=Integer.parseInt(File.getText(\'UTF-8\');code=code+1;String-propName=\''\'u 1\';if(this.hasProperty(propName)&&this.\$propName\”){code=Integer.parseInt('u 1);};File.text=code.toString();返回代码“,”)

我必须创建out.txt文件并明确指定它的路径(在groovy脚本中)才能重现您的示例。你能证实这一点吗?然后我得到了同样的结果,有点。。。它以15递增,哈!我确实注意到它显示了一种完成方式,虽然它是+1。例如,如果旧值为1,则在“完成”下拉列表中插入15并显示16(在按enter键时将插入)。你也有这种行为吗?出于好奇,您介意分享一个用例吗?我也不认为将变量保存到文件中是一种可行的方法,但目前我看不到实现您所需的另一种方法;您必须将变量保存在某个地方/以某种方式保存。因此,询问您的用例,可能会有一种完全不同的方式来实现您的目标:)是的,我可以分享我的用例。。我正在构建和维护一个正在进行的xml,其中包含具有代码值的消息实体,每次需要插入新消息时,代码值都需要增加1。我知道intelliJ之外还有不同的xml构建工具,但我很喜欢groovy的挑战我不完全确定我是否理解您的意图,但我当然同意玩这类东西的乐趣:)我必须创建out.txt文件并明确指定它的路径(在groovy脚本中)才能重现您的示例。你能证实这一点吗?然后我得到了同样的结果,有点。。。它以15递增,哈!我确实注意到它显示了一种完成方式,虽然它是+1。例如,如果旧值为1,则在“完成”下拉列表中插入15并显示16(在按enter键时将插入)。你也有这种行为吗?出于好奇,您介意分享一个用例吗?我也不认为将变量保存到文件中是一种可行的方法,但目前我看不到实现您所需的另一种方法;您必须将变量保存在某个地方/以某种方式保存。因此,询问您的用例,可能会有一种完全不同的方式来实现您的目标:)是的,我可以分享我的用例。。我正在构建和维护一个正在进行的xml,其中包含具有代码值的消息实体,每次需要插入新消息时,代码值都需要增加1。我知道intelliJ之外还有不同的xml构建工具,但我很喜欢groovy的挑战我不完全确定我是否理解你到底想要什么,但我肯定同意玩这种东西的乐趣:)