Dzi*_*ous 1 regex code-snippets visual-studio-code vscode-snippets
为了在未来赢得一些时间,我正在尝试为 VsCode 创建一些片段。
有上下文。我有一个tmp.hpp我想要的文件
#ifndef TMP_HPP_
#define TMP_HPP
#endif
Run Code Online (Sandbox Code Playgroud)
我的问题是,我希望能够TMP按我想要的方式进行修改。为此,我希望它成为默认值最后,如果我决定修改TMP,WHATEVER我想强制WHATEVER为大写。
更准确地说,我希望 my${1}具有默认值:${TM_FILE_BASE}并且我也希望${1}和/或 my${TM_FILE_BASE}是${/upper}
这是我目前得到的:
"Creates a ifndef": {
"prefix": "ifndef",
"body": [
"#ifndef ${${1:TM_FILENAME_BASE/(.*)/${1:/upcase}/}}_HPP_",
" #define ${${1:TM_FILENAME_BASE/(.*)/${1:/upcase}/}_HPP_",
"",
"#endif"
],
"description": "Creates a basic ifndef"
}
Run Code Online (Sandbox Code Playgroud)
谢谢
您需要使用嵌套变量:
"Creates a ifndef": {
"prefix": "ifndef",
"body": [
"#ifndef ${1:${TM_FILENAME_BASE/(.*)/${1:/upcase}/}}_HPP_",
" #define ${1:${TM_FILENAME_BASE/(.*)/${1:/upcase}/}}_HPP_",
"",
"#endif"
],
"description": "Creates a basic ifndef"
}
Run Code Online (Sandbox Code Playgroud)
注意该${1:${TM_FILENAME_BASE/(.*)/${1:/upcase}/}}部分。这里,${1:...}是占位符的语法,其中的 thr${TM_FILENAME_BASE/(.*)/${1:/upcase}/}指定使用基于正则表达式的替换修改的变量(所有内容都匹配并捕获到组 1 中,并/(.*)/使用大写变体替换${1:/upcase}/}(这里$1是组1 个值占位符))。
| 归档时间: |
|
| 查看次数: |
903 次 |
| 最近记录: |