当已经在一个代码段中时,如何用制表符完成到一个新的代码段



如果我已经在一个代码段中,并且我按了tab,我将转到下一个占位符。然而,如果我已经在一个占位符中,并且我已经键入了一个应该触发另一个片段的前缀,如果我按tab键,我将转到下一个占位符,而不是展开我刚刚键入的前缀。有没有一种方法可以扩展我刚刚在代码段中键入的前缀?

这里有一个例子:

"test": {
"prefix": "t",
"body": "|${1}|${2}",
},
"text": {
"prefix": "a",
"body": "asdfghjkl",
}

如果我键入t,我将得到:||
如果我在第一个占位符中键入a并按tab键,我将获得:|a|,其中我的光标位于${2}占位符
我希望得到:|asdfghjkl|而不是

主要问题是,在键入a之后,您得到了|a|,而vscode将无法将a识别为代码段前缀。对vscode来说,它看起来像|a。所以,如果你真的把第二个前缀设为|,它就会被识别为前缀,比如:

"text": {
"prefix": "|a",
"body": "asdfghjkl",
}

您仍然需要Ctrl+空格才能显示建议,<kbd]输入>项卡将转到下一个选项卡停止

或者,如果你可以插入一个类似的空格

"test4": {
"prefix": "t",
"body": "| ${1}|${2}",   // space added here
},

那么您就不必修改第二个片段了。


此外,请确保您有

Editor > Suggest: Snippets Prevent Quick Suggestions

disabled(enabled是默认值(,因此您可以在第一个代码段中触发建议,但您必须使用Ctrl+Space手动触发建议,如上所述。

相关内容

最新更新