我找不到创建以下代码段的方法:
[
"${1:SECTION NAME/(.*)/${1:/upcase}/}",
"====================================\n$0"
]
我想要以下结果:
<selection>SECTION NAME</selection>
====================================
然后输入:“我无可救药”。 [TAB]
I AM HOPELESS
====================================
<selection />
我最近得到的是:
[
"${1/(.*)/${1:/upcase}/} ${1:SECTION NAME}",
"====================================\n$0"
]
但是我得到了副本。
答案 0 :(得分:2)
为了节省一些挫败感,占位符转换不不能用于默认或选择语法。如:
"${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 issues: placeholder transforms。如果正在进行有关支持默认/选择变量转换的工作,那就没话说了。