bao*_*uss 4 code-snippets visual-studio-code
vs 代码据说支持用户定义的片段中的变电站,即转换。但它只适用于(内置)变量而不是占位符。
请参阅以下代码段:
"substitution test" : {
"prefix" : "abc",
"body": [
"${TM_FILENAME}",
"${TM_FILENAME/^([^.]+)\\..+$/$1/}",
"${TM_FILENAME/^([^.]+)\\..+$/${1:/capitalize}/}",
"${TM_FILENAME/^([^.]+)\\..+$/${1:/upcase}/}",
"${2:showMeInAllCapsWhenReferenced}",
"${2/upcase}"
]
}
Run Code Online (Sandbox Code Playgroud)
第 1-4 行的输出符合预期:
users.actions.ts
users
Users
USERS
Run Code Online (Sandbox Code Playgroud)
在第 5 行有一个占位符,我在第 6 行再次引用它。我希望它显示两次,一次是在我输入时显示,一次是全部大写。所以例如:
fooFoo
FOOFOO
Run Code Online (Sandbox Code Playgroud)
但实际输出是
showMeInAllCapsWhenReferenced
${2/upcase}
Run Code Online (Sandbox Code Playgroud)
是否可以替换/转换引用的占位符(如我输入的那样)?
你的最后两行应该是:
"${2:showMeInAllCapsWhenReferenced}",
"${2/(.*)/${1:/upcase}/}"
Run Code Online (Sandbox Code Playgroud)
在最后一个选项卡之后,实际应用了转换(因此在技术上不是“在您键入时”替换占位符)。
从 占位符转换:
插入的文本与正则表达式匹配,匹配项或匹配项(取决于选项)将替换为指定的替换格式文本。
因此,您不能像第 5 行那样在没有正则表达式捕获的情况下仅使用 :/upcase - 它只能转换正则表达式匹配。
查看语法部分:
Run Code Online (Sandbox Code Playgroud)transform ::= '/' regex '/' (format | text)+ '/' options format ::= '$' int | '${' int '}' | '${' int ':' '/upcase' | '/downcase' | '/capitalize' '}' | '${' int ':+' if '}' | '${' int ':?' if ':' else '}' | '${' int ':-' else '}' | '${' int ':' else '}'
我们看到 :/upcase 必须遵循正则表达式。(“格式”,其中大写是一种,必须遵循“转换”中的“正则表达式”。)
归档时间: |
|
查看次数: |
1736 次 |
最近记录: |