VS Code 快速识别 Monorepo 子项目独立 ESLint 配置

6 阅读1分钟

在 Monorepo 架构中,为子项目配置独立 ESLint 规则(配置文件不放在根目录)时,VS Code 只需开启自动工作区识别,即可精准匹配各子项目的配置,无需复杂操作。

核心解决方案仅需一步:在 Monorepo 根目录的 .vscode/settings.json 中,为 ESLint 插件配置 mode: "auto"

核心配置代码 

// .vscode/settings.json(Monorepo 根目录)
{
  "eslint.workingDirectories": [{ "mode": "auto" }],
  // 可选:禁用内置 JS 验证,避免与 ESLint 冲突
  "javascript.validate.enable": false
}

配置说明

"mode": "auto" 会让 VS Code 的 ESLint 插件自动检测当前文件所在目录的项目边界(以 package.json.eslintrc.* 配置文件为标识),自动切换到对应子项目的工作区,从而读取该子项目下的独立 ESLint 配置,完美解决 Monorepo 中子项目配置识别失效的问题。

生效验证

在子项目中编写测试代码(如 console.log('test')),若该子项目的 ESLint 配置中开启了 no-console: "warn" 规则,VS Code 会立即在代码处显示黄色警告,说明配置已成功识别。