VsCode Snippet PlaceHolder 默认值 File_Name_Base + 大写
VsCode Snippet PlaceHolder default value File_Name_Base + uppercase
为了在未来赢得一些时间,我正在尝试为 VsCode 创建一些片段。
有上下文。我有一个 tmp.hpp
文件,我想在其中包含
#ifndef TMP_HPP_
#define TMP_HPP
#endif
我的问题是,我希望能够随心所欲地修改 TMP
。为此,我希望它成为默认值
最后,如果我决定将 TMP
修改为 WHATEVER
,我想强制 WHATEVER
为大写。
更准确地说,我希望我的 </code> 具有默认值:<code>${TM_FILE_BASE}
并且我还希望 </code> and/or 我的 <code>${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"
}
谢谢
您需要使用嵌套变量:
"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"
}
注意${1:${TM_FILENAME_BASE/(.*)/${1:/upcase}/}}
部分。此处,${1:...}
是占位符的语法,其中的 thr ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}
指定使用基于正则表达式的替换修改的变量(所有内容都匹配并捕获到组 1 中 /(.*)/
并使用 ${1:/upcase}/}
替换为大写变体(此处,
是第 1 组值占位符))。
为了在未来赢得一些时间,我正在尝试为 VsCode 创建一些片段。
有上下文。我有一个 tmp.hpp
文件,我想在其中包含
#ifndef TMP_HPP_
#define TMP_HPP
#endif
我的问题是,我希望能够随心所欲地修改 TMP
。为此,我希望它成为默认值
最后,如果我决定将 TMP
修改为 WHATEVER
,我想强制 WHATEVER
为大写。
更准确地说,我希望我的 </code> 具有默认值:<code>${TM_FILE_BASE}
并且我还希望 </code> and/or 我的 <code>${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"
}
谢谢
您需要使用嵌套变量:
"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"
}
注意${1:${TM_FILENAME_BASE/(.*)/${1:/upcase}/}}
部分。此处,${1:...}
是占位符的语法,其中的 thr ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}
指定使用基于正则表达式的替换修改的变量(所有内容都匹配并捕获到组 1 中 /(.*)/
并使用 ${1:/upcase}/}
替换为大写变体(此处, 是第 1 组值占位符))。