IntelliJ IDEA& AppCode实时模板嵌套变量问题

时间:2015-03-30 14:14:49

标签: intellij-idea textmate intellij-13 appcode live-templates

我有这个在textmate中使用的代码段:

var ${0:name} = ${1:"${2:value}"};

当调用此代码段时,首先会选择name,我有机会输入内容并更改变量名称。再次按TAB将选择"value",在这种情况下,如果我的值是一个数字(不需要引号),我可以开始输入一个数字并覆盖"name"。如果我的值是一个字符串,我可以再次按TAB,它将选择name(没有引号),我实际上可以键入一些内容,它们将出现在引号中。我想知道在Intellij IDEA和AppCode等JetBrains软件中这是否可行。我尝试但失败了。下面是我的JetBrains软件代码。

var $name$ = "$value$";

我不知道如何让我有机会选择"value"而不是直接选择value。有人能指出我正确的方向吗?感谢。

1 个答案:

答案 0 :(得分:0)

我认为你不能完全按照自己的意愿行事。我使用这个模板非常接近:

var $name$ = $QUOTE$ $value$ $QUOTE$;

然后在“编辑变量”中,我将QUOTE的表达式设置为"\"",并将value移到QUOTE之上。

这允许您根据需要键入名称,并在value旁边选项卡,您可以在其中输入字符串或数字。下一个选项卡将突出显示第一个引号,如果您有一个数字,可以删除它 - 这也将删除尾随引用。

然而,这并不是您想要的,因为引号内的值,如果您将它们留在那里,则在任何一侧都有空格。这是因为我真正想要的是

var $name$ = $QUOTE$$value$$QUOTE$;

但是如果你把两个变量放在一起,那么IntelliJ会非常困惑。

我知道这不是答案,但也许你想到的问题略有不同。