我正在尝试制作一个代码片段来声明bemit组件,所以当我创建一个新的组件时,我只需要编写前缀"new-bemit-component"比如文件"_c- index "_表示部分元素,c-表示组件,然后是名称,代码片段将写成:
/* ========================================================================================= */
/* COMPONENT - C INDICE */
/* ========================================================================================= */
.c-indice{
}
/* ========================================================================================= */
/* END COMPONENT - C INDICE */
/* ========================================================================================= */
我完成了,代码片段写的是
/* =========================================================================================//COMPONENT - C index//========================================================================================= */
.c-indice {
}
/* =========================================================================================//END COMPONENT - C index//========================================================================================= */
使用
"body": [
"/* ========================================================================================= */",
"/* COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */",
"",
".${TM_FILENAME_BASE/[\\_]//}{",
"",
"}",
"",
"/* ========================================================================================= */",
"/* END COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */"
],
,但现在我试图链接另一个正则表达式,所以结果以大写结束,使用这个
"body": [
"/* ========================================================================================= */",
"/* COMPONENT - C ${TM_FILENAME_BASE/(_c-)(\(?!_\wb)b\w+)/${1:+ }/g ${2:/capitalize/}} */",
"/* ========================================================================================= */",
"",
".${TM_FILENAME_BASE/[\\_]//}{",
"",
"}",
"",
"/* ========================================================================================= */",
"/* END COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */"
],
就像他们在这里做的一样,VSCode在代码片段中链接正则表达式转换
但是一定是正则表达式有问题,我得到这个:
/* ========================================================================================= */
/* COMPONENT - C ${TM_FILENAME_BASE/(_c-)((?!_w)w+)/+ /g /capitalize/} */
/* ========================================================================================= */
.c-indice{
}
/* ========================================================================================= */
/* END COMPONENT - C indice */
/* ========================================================================================= */
我用https://regex101.com
测试正则表达式您只需要捕获_c-
之后的部分并将其大写:
${TM_FILENAME_BASE/_c-(.*)/${1:/upcase}/}
TM_FILENAME_BASE
变量中的_c-
将被匹配,其余的将被捕获到组1中。
然后,所有匹配的文本将被替换(一次,没有g
标志),第1组的内容将用upcase
变成大写。