VS Code:如何将片段占位符转换为大写或小写?

VS Code: How to convert snippet placeholder to uppercase or lowercase?

在 VS Code 中,用于创建 user defined snippets mentions some Grammar 的文档包括 /upcase/downcase/capitalize 的选项,但我不知道如何使用它。

我正在使用最新版本的 VS Code:Version 1.25.0 Mac。

似乎此代码段应在键入并按 Tab 键后将占位符的值转换为大写和小写,但事实并非如此:

"test": {
    "prefix": "test",
    "body": " -> ${1:/upcase} ${1:/downcase}"
},

流程和预期结果

  1. 输入test
  2. 点击 tab 获取代码段。
  3. 键入 Asdf 得到:

    Asdf -> Asdf Asdf
    
  4. 点击 tab 以获得预期结果:

    Asdf -> ASDF asdf
    

当前结果

asdf -> asdf asdf

供参考:

EBNF 文档中的整数指的是 RegExp 组而不是制表位引用,因此应该有效:

"test": {
    "prefix": "test",
    "body": " -> ${1/(Asdf)/${1:/upcase}/} ${1/(Asdf)/${1:/downcase}/}"
}

试试这个:

"test": {
    "prefix": "test",
    // "body": " -> ${1/(.*)/${1:/upcase}/} > ${1/(.*)/${1:/downcase}/}"
    // simpler version below works too
    "body": " -> ${1/(.*)/${1:/upcase} ${1:/downcase}/}"
}

您需要点击 Tab 以应用转换。

解决方案种类:

  "test": {
    "prefix": "test",
    "body": " ${1/(.*)/${1:/upcase}/}  ->  ${1/(.*)/${1:/downcase}/}  ->  ${1/(.*)/${1:/capitalize}/}"
  }

结果:

asdF ASDF  ->  asdf  ->  AsdF