VSCode自定义语言扩展如何设置关键词不区分大小写?
解决方案
VSCode使用的TextMate语法规则原生支持正则内联修饰符,你只需要在正则表达式最开头加上(?i)标记,即可实现整段匹配忽略大小写,不需要穷举所有关键字的大小写组合。
修改后的配置示例如下:
"commands": { "patterns": [ { "name": "keyword.control.wbt", "match": "(?i)\\b(if|then|else|elseif|endif|goto|gosub|exit|return|for|next|while|endwhile|break|drop|errormode|continue|switch|case)\\b" } ] },
补充说明
(?i)是标准的正则不区分大小写内联修饰符,TextMate语法引擎完全兼容该标记,添加后后续的正则匹配会自动适配任意大小写写法,if可同时匹配IF、If、iF等所有变体。- 如果只需要部分正则片段忽略大小写,可以在对应片段结束位置添加
(?-i)关闭忽略大小写规则,实现局部控制。 - 该写法相比穷举大小写组合的方案性能更优,也大幅降低了后续新增关键字的维护成本。
内容的提问来源于stack exchange,提问作者cssyphus
相关产品推荐
相关产品推荐

