>目标
我找不到创建以下代码片段的方法:
[
"${1:SECTION NAME/(.*)/${1:/upcase}/}",
"====================================n$0"
]
我想要以下结果:
<selection>SECTION NAME</selection>
====================================
然后我输入:"我很绝望"。[选项卡]
I AM HOPELESS
====================================
<selection />
快到了!!
我得到的最接近的是这个:
[
"${1/(.*)/${1:/upcase}/} ${1:SECTION NAME}",
"====================================n$0"
]
但我得到了一个副本。
只是为了节省一些挫败感,占位符转换不适用于默认或选择语法。 如:
"${1:foo/(.*)/$1:/upcase}/}"
"${2:|foo,bar|/(.*)/{1:/upcase}/}",
当没有默认值或选择值时,它们确实有效。 所以以下工作:
"${3/(.*)/${1:/upcase}/}",
此外,如果默认变量未在初始制表位处转换,但稍后在后续使用时转换,则可以使用默认变量。 所以以下工作:
"${4:SECTION NAME}",
"${4/(.*)/${1:/upcase}/}",
或者反过来也有效:
"${3/(.*)/${1:/upcase}/}",
"${3:SECTION NAME}",
因此,您可以提供默认值,但在对同一制表位的另一个引用之前无法转换它。
请参阅讨论 vscode 问题:占位符转换。 如果正在处理支持默认/选择变量转换的工作,则无话可说。