如何对VS Code代码片段变量应用多重转换,将短横线文件名转为大驼峰
修复后完整的代码片段配置
"react arrow func component": { "prefix": "rafce", "body": [ "const ${TM_FILENAME_BASE/(^.)|-([a-z])/${1:/upcase}${2:/upcase}/g}: FC = () => {", " return <div>", " $0", " </div>;", "};", "", "export default ${TM_FILENAME_BASE/(^.)|-([a-z])/${1:/upcase}${2:/upcase}/g};", "" ] },
转换逻辑说明
VS Code 代码片段的转换规则支持单条正则多捕获组匹配,不需要链式调用,单次正则即可完成所有转换需求:
- 正则
(^.)|-([a-z])会匹配两类内容:文件名开头的第一个字符(捕获为分组1)、短横线后紧跟的小写字母(捕获为分组2,短横线本身会被匹配但不会进入捕获组) - 替换逻辑
${1:/upcase}${2:/upcase}会将两个捕获组的内容分别转为大写,未匹配到的捕获组会自动输出为空,加上全局修饰符g会遍历整个文件名完成所有替换,最终自动生成符合帕斯卡命名规范的组件名。
该配置对多短横线的文件名同样生效,比如user-order-list.tsx会自动转换为UserOrderList。
内容的提问来源于stack exchange,提问作者chocojunkie
相关产品推荐
相关产品推荐

