You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置VS Code/ESLint:默认用settings.json规则,仅package.json精确覆盖时例外

解决方案

核心问题在于ESLint的配置优先级:项目级配置(比如package.json里的eslintConfig)会覆盖VS Code的全局用户设置,哪怕项目里的rules是空的,ESLint也会加载基础配置(比如Vue官方的ESLint插件预设)中的规则,而非回退到你的VS Code全局自定义规则。

要实现「全局规则为默认,仅当项目精确覆盖对应规则时才使用项目配置」的效果,可按以下步骤操作:

1. 调整VS Code的ESLint全局设置

修改settings.json,启用全局规则的强制注入,确保它能覆盖项目基础预设,但又会被项目的精确规则设置覆盖:

{
  "eslint.useFlatConfig": false,
  "eslint.rules.customizations": [
    {
      "rule": "no-unused-vars",
      "severity": "warn"
    }
  ],
  "eslint.overrideConfig": {
    "rules": {
      "no-unused-vars": "warn"
    }
  }
}

其中eslint.overrideConfig会将指定规则强制注入所有项目的ESLint配置,优先级高于项目的基础预设;但如果项目的package.json里明确设置了该规则(比如"no-unused-vars": "error"),项目配置会覆盖这个全局override。

2. 适配Vue项目的ESLint预设

如果你使用Vue官方的@vue/eslint-config-standard这类预设,它本身包含no-unused-vars的error级规则。上述全局配置会直接覆盖这个预设规则,若项目需要修改该规则,只需在package.json的eslintConfig.rules里明确设置即可。

3. 验证效果

  • 重启VS Code后,打开未配置no-unused-vars的Vue项目,编辑器和本地服务都应将该规则设为warn级别。
  • 若在项目的package.json中添加"no-unused-vars": "error",项目会优先使用这个error级设置,覆盖全局规则。

内容的提问来源于stack exchange,提问作者Mike Willis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 04:50:54