vscode 嵌套代码段选项并向选项添加制表位
vscode Nest snippet choices and add tab stops to choices
我想在我的 visual studio 代码片段中做类似的事情:
"V.G.${1|BLOCK_NR,MASS_MM,MASS_360,I,J,K,R,FEEDRATE,FEEDRATE_SCALE,MERR[]|}"
所以在选择选项 MERR[] 后,我会在括号内看到光标。
以及我如何管理子选择,例如:
"V.G.${1|choice${2|subchoiceA,subchoiceB|},choice, choice......}"
如果我选择 MERR[] 选项,我将跳转到 [Cursor should be here]。我该如何处理?
这是您的 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 到 select 第二个片段。
只需多敲一两下键盘,子选项就可以在父选项元素中工作,否则根本无法完成。
唯一的问题是您的第二个前缀 - 这里 subchoices
不能是另一个没有 space 的字符串的延续,否则它不会被 [= 识别为独立的片段前缀42=]。这就是为什么我在主代码段的 subchoices
之前添加 space 的原因,因为您的示例在插入选项之前有 "V.G.${1....}
而没有 space 。
这是一个演示:
我想在我的 visual studio 代码片段中做类似的事情:
"V.G.${1|BLOCK_NR,MASS_MM,MASS_360,I,J,K,R,FEEDRATE,FEEDRATE_SCALE,MERR[]|}"
所以在选择选项 MERR[] 后,我会在括号内看到光标。
以及我如何管理子选择,例如:
"V.G.${1|choice${2|subchoiceA,subchoiceB|},choice, choice......}"
如果我选择 MERR[] 选项,我将跳转到 [Cursor should be here]。我该如何处理?
这是您的 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 到 select 第二个片段。
只需多敲一两下键盘,子选项就可以在父选项元素中工作,否则根本无法完成。
唯一的问题是您的第二个前缀 - 这里 subchoices
不能是另一个没有 space 的字符串的延续,否则它不会被 [= 识别为独立的片段前缀42=]。这就是为什么我在主代码段的 subchoices
之前添加 space 的原因,因为您的示例在插入选项之前有 "V.G.${1....}
而没有 space 。
这是一个演示: