当前位置:  开发笔记 > 编程语言 > 正文

创建VSCode代码段时,如何将变量转换为标题大小写(如TitleCase)?

如何解决《创建VSCode代码段时,如何将变量转换为标题大小写(如TitleCase)?》经验,为你挑选了1个好方法。

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

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

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

foo-bar.tsclass FooBar

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

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

我想将“ foo-bar”转换为“ FooBar”。



1> Mark..:

尝试这个:

  "My Snippet": {
    "scope": "typescript",
    "prefix": "snippet",
    "body": [
      "${1}() {",

      // "\treturn this.get(${TM_FILENAME_BASE/([a-z]*)-*([a-z]*)/${1:/capitalize}${2:/capitalize}/g}.FIELD.${3});",

      "\treturn this.get(${TM_FILENAME_BASE/(.*)/${1:/pascalcase}/g}.FIELD.${3});",

      "}",
      "",
      "$0"
    ],
    "description": "Creates a function wrapper for a model's attribute."
  }

编辑:2018年10月,\pascalcase转换已添加到vscode-请参阅 commit,但尚未添加到文档中(截至此编辑之日)。我在上面添加了更简单的变换,即可完成PascalCase变换。

另请参阅将片段转换为CamelCase

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有