如何让VSCode使用独立于当前仓库的TSConfig实现语法高亮?
实现VSCode读取独立TSConfig的可行方案
以下方案均不需要修改仓库内的任何现有配置,不会影响团队提交:
方案1:VSCode 自定义TSConfig路径配置
- 第一步:在本地非仓库目录创建你的自定义严格规则TSConfig,比如路径为
~/.config/tsconfig.strict.json(macOS/Linux)或C:\Users\你的用户名\.config\tsconfig.strict.json(Windows),配置示例如下:
{ "compilerOptions": { "strict": true, "strictNullChecks": true, "noImplicitAny": true, // 其他你需要的严格规则,基础编译配置保持和公司仓库tsconfig一致即可 "target": "ESNext", "module": "ESNext" }, "include": [ "./**/*.ts", "./**/*.tsx" ] }
- 第二步:配置VSCode读取自定义TSConfig
- 打开VSCode设置,可通过快捷键
Ctrl+,(Windows)/Cmd+,(macOS)唤起 - 搜索配置项
typescript.tsconfigPath,填入你第一步创建的TSConfig文件的绝对路径 - 若你需要针对不同项目使用不同的自定义配置,可以改为配置工作区设置,配置完成后将
.vscode文件夹加入你本地全局.gitignore,避免误提交到仓库:- 执行命令
git config --global core.excludesfile ~/.gitignore_global配置全局忽略文件 - 在
~/.gitignore_global文件中新增一行.vscode/,保存后所有本地仓库都会自动忽略.vscode目录
- 执行命令
- 打开VSCode设置,可通过快捷键
配置完成后VSCode的TypeScript语法校验、高亮会直接读取你指定的配置文件,完全不依赖仓库内的tsconfig.json。
方案2:ESLint 独立规则配置(适用于使用ESLint做TS校验的场景)
如果你的严格规则同时依赖ESLint校验,可按以下配置实现独立ESLint规则:
- 在本地创建自定义ESLint配置文件,比如
~/.config/eslintrc.strict.js,可以通过extends字段继承仓库原有ESLint规则,再叠加你的严格规则:
module.exports = { extends: [ // 指向仓库本地的ESLint配置,用绝对路径或者工作区相对路径均可 './.eslintrc.js' ], rules: { // 你需要新增的严格规则 '@typescript-eslint/no-explicit-any': 'error' } }
- 打开VSCode设置,搜索
eslint.options,添加如下配置指定自定义ESLint配置路径:
"eslint.options": { "configFile": "你的自定义ESLint配置文件绝对路径" }
补充说明
如果需要同时适配多个不同配置的公司项目,可使用VSCode的多根工作区功能,每个工作区单独配置对应的tsconfig和ESLint路径,互不影响。
内容的提问来源于stack exchange,提问作者MDodge
相关产品推荐
相关产品推荐

