在创建VSCode片段时,如何将变量转换为title-case(如TitleCase)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在创建VSCode片段时,如何将变量转换为title-case(如TitleCase)?相关的知识,希望对你有一定的参考价值。
https://code.visualstudio.com/docs/editor/userdefinedsnippets#_placeholdertransform
我的目标是在插入的代码段的上下文中自动设置类名。 VSCode本身不支持类或方法名称,但它支持文件名。
我的文件名非常类似于类名:
foo-bar.ts
为class 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)?的主要内容,如果未能解决你的问题,请参考以下文章