VS Code项目中覆盖扩展定义的tmLanguage.json方法咨询
针对特定项目覆盖VS Code扩展的tmLanguage定义
能不能不用自定义扩展实现?
可以,完全不需要创建自定义扩展,只需要在当前项目内做工作区级别的配置就能实现,而且只会影响这个项目,不会全局生效。
怎么添加自定义文件覆盖扩展定义?
按以下步骤操作:
- 在项目根目录创建
.vscode文件夹(如果本来就有就跳过这步)。 - 在
.vscode里新建一个语法文件,比如命名为custom-X.tmLanguage.json,把原扩展里的tmLanguage.json内容复制过来,修改你需要调整的语法规则部分。 - 在
.vscode里创建或打开settings.json,添加以下配置(注意替换成对应语言的信息):
{ "textmate.grammars": [ { "language": "X", // 替换成编程语言X的官方ID,比如"python"、"go" "scopeName": "source.X", // 必须和你自定义文件里的scopeName字段值一致,也要和原扩展的scopeName匹配 "path": "./.vscode/custom-X.tmLanguage.json", "priority": 1 // 优先级设为1,原扩展的语法优先级一般是0,所以这个自定义文件会被优先加载 } ] }
- 保存配置后,重启VS Code或者重新加载窗口(快捷键
Ctrl+Shift+P,选择"Reload Window"),自定义的语法规则就会生效了。
内容的提问来源于stack exchange,提问作者HerpDerpington
相关产品推荐
相关产品推荐

