【问题标题】:IntelliJ IDEA & AppCode live template nested variable issueIntelliJ IDEA & AppCode 实时模板嵌套变量问题
【发布时间】:2015-03-30 14:14:49
【问题描述】:

我有这个在 textmate 中使用的 sn-p:

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

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

var $name$ = "$value$";

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

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

    但是如果你像这样把两个变量放在一起,IntelliJ 会很困惑。

    我知道这不是答案,但也许它让您考虑了解决问题的稍微不同的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多