VSCode需手动安装ESLint扩展并配置本地依赖和规则文件才能启用检查;必须在项目根目录安装eslint、配置.eslintrc.*,确保VSCode打开的是根目录且状态栏显示启用,否则无法实时校验。

VSCode 本身不自带 ESLint,必须手动安装扩展并配置项目级规则,否则打开文件时不会触发任何检查。
安装 ESLint 扩展和本地依赖
仅装 VSCode 插件 ESLint(由 Dirk Baeumer 发布)不够,项目根目录下还必须有可执行的 eslint 命令。推荐优先使用本地安装:
- 运行
npm install eslint --save-dev(或yarn add eslint -D),确保node_modules/.bin/eslint存在 - 全局安装(
npm install -g eslint)容易引发版本冲突,尤其当团队成员 Node 版本或 ESLint 版本不一致时 - VSCode 扩展会自动查找项目内
node_modules中的eslint,找不到才回落到全局
配置 .eslintrc.js 或 .eslintrc.cjs
ESLint 默认不启用任何规则,空配置 = 零检查。必须显式指定规则集和环境:
- 基础配置建议从
eslint:recommended继承:extends: ['eslint:recommended'] - 若用 React,加
plugin:react/recommended;用 TypeScript,加@typescript-eslint/recommended(需额外装@typescript-eslint/eslint-plugin) - 注意导出方式:Node 14+ 支持
.eslintrc.js,但若项目用 ESM(type: "module"),必须改用.eslintrc.cjs并用module.exports = {...} - 避免在
rules里逐条写"no-console": "off"这类覆盖,优先用extends+overrides分场景控制
确保 VSCode 正确加载并实时校验
即使配置文件存在,VSCode 也可能静默失效——常见原因不是插件没开,而是工作区识别错误:
- 确认 VSCode 当前打开的是**项目根目录**(即含
package.json和.eslintrc.*的文件夹),而非其子文件夹 - 检查状态栏右下角是否显示
ESLint图标;若显示“Disabled”,点击它并选 “Enable for Workspace” - 在
settings.json中确认有:"eslint.enable": true,且未被用户级设置覆盖 - 编辑器保存时无提示?尝试手动触发:右键文件 → “ESLint: Fix all auto-fixable Problems”,看是否报错——报错常意味着解析器(如
@typescript-eslint/parser)未正确安装或配置
最易被忽略的一点:ESLint 配置是按文件路径匹配的,.eslintrc.js 放在 src/ 目录下,对项目根目录的 index.js 就不生效。规则作用域永远以当前文件所在位置向上查找最近的配置文件,不是以 VSCode 窗口根路径为准。










