我试图让嵌套的占位符在snippets中工作,这就意味着 应 工作 根据文件. 但是在使用的时候,基本上都是作为一个单一的tab停止处理。
测试片段
{
"nestedPlaceholders": {
"prefix": "nestedPlaceholders",
"body": ["<test ${1:first placeholder ${2:Second placeholder}} />"],
"description": "Test for nested placeholders"
}
}
有什么想法吗?先谢谢你。
我想说这是预期的行为。 下面是发生了什么。 在这种形式下。
${1:first placeholder ${2:Second placeholder}}
在这种形式下: ${2:Second placeholder}
是第一个占位符的一部分! 所以它应该出现在第一个tabstop上,当你在第一个占位符上输入默认文本时,你也会删除第二个tabstop占位符。 如果顺序是这样,效果会更好。
${2:second placeholder ${1:first placeholder}}
现在接受或键入第一个占位符不会删除第二个占位符。 但第一个占位符的默认文本(first placeholder
在我的例子中)仍然是第二个占位符文本的一部分,所以如果您在它上面键入,它将被消除。 如果您在第二个占位符文本上输入了 标签.
显然,如果你想让两个占位符独立运行,不要嵌套它们。
"<test ${1:first placeholder} ${2:Second placeholder} />",
所以我认为文档中嵌套占位符的例子可能在很多情况下都没有用,因为如果你想要第二个占位符的默认文本,而不是第一个 - 你会失去第二个文本,所以有什么意义。 但我确实认为它实际上是按照它应该的方式来操作的--只是这种形式不是很有帮助。