这是您subchoiceA/B
问题的解决方法,因为除了纯文本之外,您不能有任何选择 - 没有制表位或子选择等。您的示例:
V.G.${1|choice${2|subchoiceA,subchoiceB|},choice, choice......}"
然而,这可以通过 2 个片段来实现:
"choices with subchoices": {
"prefix": "_choices", // whatever prefix you want
"body": [
"V.G.${1|choice1, _subchoices,choice2,choice3|}"
],
"description": "variables in a choice element"
},
"my subchoice list": {
"prefix": "_subchoices", // this prefix must be what you used in the main snippet
// as your subchoice option
"body": [ "${1|subchoiceA,subchoiceB|}" ],
"description": "subChoices"
},
发生的情况是,当您subchoices
在主代码段中选择选项时,它会将其视为第二个代码段的前缀 - 这非常简洁。但它不会这样做,直到您使用Ctrl+Space通常的智能触发触发该识别,然后tab选择第二个片段。
只需要一两次额外的击键就可以让子选择在父选择元素内工作,否则根本无法完成。
唯一的问题是你的第二个前缀 - 这里subchoices
不能是另一个没有空格的字符串的延续,否则它不会被 vscode 识别为独立的片段前缀。这就是为什么我subchoices
在主代码段之前添加了空格,因为您的示例"V.G.${1....}
在插入选项之前没有空格。
这是一个演示:
