在创建VSCode片段时,如何将变量转换为title-case(如TitleCase)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在创建VSCode片段时,如何将变量转换为title-case(如TitleCase)?相关的知识,希望对你有一定的参考价值。

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

我的目标是在插入的代码段的上下文中自动设置类名。 VSCode本身不支持类或方法名称,但它支持文件名。

我的文件名非常类似于类名:

foo-bar.tsclass FooBar

这是我目前的代码片段,其中我可以使用VSCode提供的原生“大写”语法将"foo-bar"转换为"Foo-bar"TM_FILENAME_BASE是一个本机变量,它提取没有扩展名的文件名:

"My Snippet": {
    "scope": "typescript",
    "prefix": "snippet",
    "body": [
        "${1}() {",
        "	return this.get(${TM_FILENAME_BASE/(.*)/${1:/capitalize}/}.FIELD.${3});",
        "}",
        "",
        "$0"
    ],
    "description": "Creates a function wrapper for a model's attribute."
}

我想将“foo-bar”改为“FooBar”。

答案

试试这个:

  "My Snippet": {
    "scope": "typescript",
    "prefix": "snippet",
    "body": [
      "${1}() {",
      "	return this.get(${TM_FILENAME_BASE/([a-z]*)-*([a-z]*)/${1:/capitalize}${2:/capitalize}/g}.FIELD.${3});",
      "}",
      "",
      "$0"
    ],
    "description": "Creates a function wrapper for a model's attribute."
  }

如果您的文件长度为两个或更多段,如foo-bar.ts或foo-bar-zoo.ts等,则可以正常工作。

另见snippet transform to CamelCase

以上是关于在创建VSCode片段时,如何将变量转换为title-case(如TitleCase)?的主要内容,如果未能解决你的问题,请参考以下文章

这几种 VSCode 扩展是我最喜欢的

如何将变量转换为数组

Vscode 片段变量

如何将活动转换为片段以在抽屉中使用

如何在 VSCode 中添加自定义 emmet 片段?

在 VSCODE 中导入语句自动转换为多行