如果我已经在一个代码段中,并且我按了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手动触发建议,如上所述。