VS 代码片段 - 选择列表前面所需的数字是多少?

VS code snippets - what is the required number in front of a choice list?

https://code.visualstudio.com/docs/editor/userdefinedsnippets#_choice

${1|one,two,three|}

所以我是片段的新手,我注意到完成选择列表前面的数字是正确显示选择菜单所必需的(如果省略,它将以文字字符串形式填充选择列表 - https://github.com/infosec-intern/textmate-yara/pull/29).

这个数字有什么作用,为什么需要它? (文档没有解释)

是否为默认选择?

谢谢,

${1|one,two,three|} 中,1 是制表位。当您触发代码段时,您的光标将首先移动到该位置。参见 https://code.visualstudio.com/docs/editor/userdefinedsnippets#_tabstops

Tabstops

With tabstops, you can make the editor cursor move inside a snippet. Use </code>, <code> to specify cursor locations. The number is the order in which tabstops will be visited, whereas [=14=] denotes the final cursor position. Multiple occurrences of the same tabstop are linked and updated in sync.

根据代码段语法,在选择元素之前需要制表位编号。

choice ::= '${' int '|' text (',' text)* '|}'

因为它是一个选择元素,所以您希望光标在某个时间移动到那里是有道理的,只需使用 tab 键在制表位之间循环。您可以 select 制表位的顺序,它们在您的代码段中不必按任何特定顺序排列。例如,Tabstop </code> 可以出现在 <code> 之前。

并且制表位与默认 selection/option 无关。默认值始终是代码段中列出的第一个选项。