eslint是唯一值得投入配置的代码纠错工具,因其基于规则驱动,可覆盖语义、风格、安全等多层问题,而vscode内置javascript语言服务仅支持基础语法提示,无法检测逻辑错误、团队约定或风格缺陷。

ESLint 是前端开发中唯一值得投入配置的代码纠错工具,其他所谓“语法检查”插件基本是摆设。
为什么只认 ESLint 而不是内置 JavaScript 语言服务
VSCode 自带的 JavaScript 语言服务(基于 TypeScript Server)能提示基础语法错误,比如 undefined is not a function 或拼错变量名,但它不检查逻辑问题、风格缺陷或团队约定。例如它不会报错 console.log、不会警告 == 比较、也不会发现未使用的函数参数。
ESLint 则不同:它靠规则驱动,可覆盖语义层、风格层、安全层。比如 no-console、eqeqeq、no-unused-vars 这类规则,必须靠 ESLint 显式启用才生效。
- 不装 ESLint 插件 → 保存时零反馈,写完才发现 CI 报错
- 装了但没配
eslint.validate→ 只对 .js 文件生效,.jsx/.ts 文件静默失效 - 配了但没开
editor.codeActionsOnSave→ 错误标红了,却不能 Ctrl+S 自动修
推荐开箱即用的规则组合
别从头写 .eslintrc.js。直接用社区成熟 preset,再按需微调:
- 纯 JS 项目:用
eslint:recommended+eslint-config-prettier(禁用所有与 Prettier 冲突的规则) - React 项目:加
plugin:react/recommended和plugin:react-hooks/recommended,否则useEffect依赖数组漏写不会报警 - TypeScript 项目:必须加
plugin:@typescript-eslint/recommended,否则any类型、隐式any参数全被放过
示例最小可行配置(.eslintrc.js):
module.exports = {
env: { browser: true, es2021: true },
extends: [
'eslint:recommended',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:@typescript-eslint/recommended',
'prettier'
],
parser: '@typescript-eslint/parser',
rules: {
'no-console': 'warn',
'eqeqeq': 'error',
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }]
}
};
VSCode 里必须配的三项设置
光有 ESLint 配置文件还不够,VSCode 必须显式告诉它“什么时候跑、对哪些文件跑、怎么修”:
-
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"]—— 不加javascriptreact,.jsx 文件里的 JSX 语法就不会被检查 -
"editor.codeActionsOnSave": { "source.fixAll.eslint": true }—— 这才是“Ctrl+S 自动修”的开关,比editor.formatOnSave更精准(后者只格式化,不修复逻辑) -
"eslint.useFlatConfig": false—— 当前(2026 年)多数项目仍用传统.eslintrc.js,设为false才能正确加载;若项目已升级到 ESLint v9 的 flat config,则改用true并配eslint.config.mjs
容易被忽略的坑:规则只在打开的文件里生效
ESLint 默认只校验当前编辑器中打开的文件。你改了 utils/date.js,但没把它打开过,那么即使它有 no-console 违规,也不会在 Problems 面板里显示。
解决办法只有两个:
- 手动运行
npx eslint . --ext .js,.jsx,.ts,.tsx全量扫描(适合 CI 或本地提测前) - 在 VSCode 设置里加
"eslint.run": "onType"(慎用!大型项目会明显卡顿)
真正实用的做法是:把核心模块、新写的 Hook、关键业务组件文件保持常开状态——让 ESLint 的实时检查落在刀刃上。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











