visual studio 代码的这个链接片段有什么问题?
what's wrong with this chained snippet for visual studio code?
我正在尝试制作一个片段来声明 bemit 组件,所以当我创建一个新组件时,我只需要写前缀“new-bemit-component”,然后例如使用文件“_c-indice” _ 表示部分元素,c- 表示组件,然后是名称,代码段将这样写:
/* ========================================================================================= */
/* COMPONENT - C INDICE */
/* ========================================================================================= */
.c-indice{
}
/* ========================================================================================= */
/* END COMPONENT - C INDICE */
/* ========================================================================================= */
我已经完成了代码段所写的内容
/* =========================================== ============================================== /
/ COMPONENT - C 指数 /
/ ============================================ ===============================================*/
.c-指数{
}
/* =========================================== ============================================== /
/ 结束组件 - C 索引 /
/ ============================================ ===============================================*/
使用
"body": [
"/* ========================================================================================= */",
"/* COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */",
"",
".${TM_FILENAME_BASE/[\\_]//}{",
"",
"}",
"",
"/* ========================================================================================= */",
"/* END COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */"
],
但现在我正在尝试链接另一个正则表达式,因此结果以大写结尾,使用这个
"body": [
"/* ========================================================================================= */",
"/* COMPONENT - C ${TM_FILENAME_BASE/(_c-)(\(?!_\w\b)\b\w+)/${1:+ }/g ${2:/capitalize/}} */",
"/* ========================================================================================= */",
"",
".${TM_FILENAME_BASE/[\\_]//}{",
"",
"}",
"",
"/* ========================================================================================= */",
"/* END COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */"
],
就像他们在这里所做的那样
但是正则表达式一定有问题,我明白了:
/* ========================================================================================= */
/* COMPONENT - C ${TM_FILENAME_BASE/(_c-)(\(?!_\w)\w+)/+ /g /capitalize/} */
/* ========================================================================================= */
.c-indice{
}
/* ========================================================================================= */
/* END COMPONENT - C indice */
/* ========================================================================================= */
测试了正则表达式
您只需要捕获 _c-
之后的部分并将其大写:
${TM_FILENAME_BASE/_c-(.*)/${1:/upcase}/}
TM_FILENAME_BASE
变量中的_c-
会被匹配,其余的会被抓到第1组
然后,所有匹配的文本将被替换(一次,没有 g
标志)第 1 组的内容变成大写 upcase
。
我正在尝试制作一个片段来声明 bemit 组件,所以当我创建一个新组件时,我只需要写前缀“new-bemit-component”,然后例如使用文件“_c-indice” _ 表示部分元素,c- 表示组件,然后是名称,代码段将这样写:
/* ========================================================================================= */
/* COMPONENT - C INDICE */
/* ========================================================================================= */
.c-indice{
}
/* ========================================================================================= */
/* END COMPONENT - C INDICE */
/* ========================================================================================= */
我已经完成了代码段所写的内容
/* =========================================== ============================================== / / COMPONENT - C 指数 / / ============================================ ===============================================*/
.c-指数{
}
/* =========================================== ============================================== / / 结束组件 - C 索引 / / ============================================ ===============================================*/
使用
"body": [
"/* ========================================================================================= */",
"/* COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */",
"",
".${TM_FILENAME_BASE/[\\_]//}{",
"",
"}",
"",
"/* ========================================================================================= */",
"/* END COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */"
],
但现在我正在尝试链接另一个正则表达式,因此结果以大写结尾,使用这个
"body": [
"/* ========================================================================================= */",
"/* COMPONENT - C ${TM_FILENAME_BASE/(_c-)(\(?!_\w\b)\b\w+)/${1:+ }/g ${2:/capitalize/}} */",
"/* ========================================================================================= */",
"",
".${TM_FILENAME_BASE/[\\_]//}{",
"",
"}",
"",
"/* ========================================================================================= */",
"/* END COMPONENT - C ${TM_FILENAME_BASE/_c-//} */",
"/* ========================================================================================= */"
],
就像他们在这里所做的那样
但是正则表达式一定有问题,我明白了:
/* ========================================================================================= */
/* COMPONENT - C ${TM_FILENAME_BASE/(_c-)(\(?!_\w)\w+)/+ /g /capitalize/} */
/* ========================================================================================= */
.c-indice{
}
/* ========================================================================================= */
/* END COMPONENT - C indice */
/* ========================================================================================= */
测试了正则表达式
您只需要捕获 _c-
之后的部分并将其大写:
${TM_FILENAME_BASE/_c-(.*)/${1:/upcase}/}
TM_FILENAME_BASE
变量中的_c-
会被匹配,其余的会被抓到第1组
然后,所有匹配的文本将被替换(一次,没有 g
标志)第 1 组的内容变成大写 upcase
。