Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code VS代码段替换(转换)使用变量而不是占位符_Visual Studio Code_Code Snippets - Fatal编程技术网

Visual studio code VS代码段替换(转换)使用变量而不是占位符

Visual studio code VS代码段替换(转换)使用变量而不是占位符,visual-studio-code,code-snippets,Visual Studio Code,Code Snippets,据推测,vs代码在用户定义的代码段中支持变电站,即转换。但它对我来说只适用于(内置)变量,而不适用于占位符 请参见以下代码段: "substitution test" : { "prefix" : "abc", "body": [ "${TM_FILENAME}", "${TM_FILENAME/^([^.]+)\\..+$/$1/}", "${TM_FILENAME/^([^.]+)\\..+$/${1:/capitalize}/

据推测,vs代码在用户定义的代码段中支持变电站,即转换。但它对我来说只适用于(内置)变量,而不适用于占位符

请参见以下代码段:

"substitution test" : {
    "prefix" : "abc",
    "body": [
        "${TM_FILENAME}",
        "${TM_FILENAME/^([^.]+)\\..+$/$1/}",
        "${TM_FILENAME/^([^.]+)\\..+$/${1:/capitalize}/}",
        "${TM_FILENAME/^([^.]+)\\..+$/${1:/upcase}/}",
        "${2:showMeInAllCapsWhenReferenced}",
        "${2/upcase}"
    ]
}
第1-4行的输出与预期一致:

users.actions.ts
users
Users
USERS
在第5行有一个占位符,我在第6行再次引用了它。我希望它显示两次,一次是在我键入时显示,另一次是在所有大写字母中显示。例如:

fooFoo
FOOFOO
但实际产出是

showMeInAllCapsWhenReferenced
${2/upcase}

引用占位符(如I类型)的替换/转换是否可行?

最后两行应该是:

"${2:showMeInAllCapsWhenReferenced}",
"${2/(.*)/${1:/upcase}/}"
在最后一个选项卡之后,实际应用了转换(因此从技术上讲,不是“键入”占位符替换)

发件人:

插入的文本与正则表达式和匹配项匹配 或将匹配项(取决于选项)替换为 指定的替换格式文本

因此,您不能像在第5行中尝试的那样,仅使用:/upcase而不使用regex捕获-它只能转换regex匹配项

看看这一节:

我们看到:/upcase必须跟在regex后面。(upcase是其中之一的“format”必须在“transform”中的“regex”之后。)

transform   ::= '/' regex '/' (format | text)+ '/' options 

format   ::= '$' int | '${' int '}'

            | '${' int ':' '/upcase' | '/downcase' | '/capitalize' '}'

            | '${' int ':+' if '}'

            | '${' int ':?' if ':' else '}'

            | '${' int ':-' else '}' | '${' int ':' else '}'