IntelliJ IDEA & AppCode live template nested variable issue



我有这个片段在textmate:中使用

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

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

var $name$ = "$value$";

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

我认为你不能随心所欲。我使用这个模板非常接近:

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

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

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

然而,这并不是你想要的,因为如果你把引号留在那里,引号里的值两边都有空格。这是因为我真正想要的是

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

但是如果像这样把两个变量放在一起,IntelliJ就会变得非常混乱。

我知道这不是答案,但也许这会让你思考稍微不同的解决问题的方法。

最新更新