VSCode里ESLint不报错但命令行正常,大概率是VSCode未使用项目本地eslint而是fallback到全局版本;需设置eslint.packageManager为npm/pnpm、确认package.json存在且已安装依赖、检查状态栏提示“Using globally installed ESLint”并重启窗口。

VSCode 里 ESLint 不报错,但命令行能跑通?
大概率是 VSCode 没用上项目本地的 eslint,而是 fallback 到了全局安装版本。Node.js 环境本身不提供校验能力,真正干活的是你项目里 node_modules/.bin/eslint 这个可执行文件。
- 打开 VSCode 设置(
Ctrl+,),搜eslint.packageManager,设为npm或pnpm(和你项目一致) - 确认工作区根目录下有
package.json,且已运行过npm install(或对应命令) - 右下角状态栏点 ESLint 图标,看提示是不是 “Using globally installed ESLint”——如果是,说明没走本地
- 重启 VSCode(或执行
Developer: Reload Window),避免缓存干扰
.eslintrc.js 配置写对了,但 JSX/TSX 文件完全不检查?
ESLint 默认 parser 只认纯 JS,遇到 jsx 或 ts 语法会直接解析失败,连规则都不加载,更不会报错。
- 必须显式配置
parser和parserOptions:比如用@typescript-eslint/parser处理.ts/.tsx,用@babel/eslint-parser处理jsx -
plugins数组里得加上对应插件名,例如['react', '@typescript-eslint'] - 别漏掉
extends里的预设,如plugin:react/recommended或plugin:@typescript-eslint/recommended - 如果用了 Prettier,记得加
extends: ['plugin:prettier/recommended'],否则保存时可能反复格式化又冲突
保存时自动修复不生效,或者只修了一半?
VSCode 的 editor.formatOnSave 和 ESLint 的 eslint.codeAction.onSave.fixAll 是两套机制,不能混用;且自动修复依赖规则是否支持 fix。
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 关掉
editor.formatOnSave(除非你只用 Prettier 做格式化),改用 ESLint 自带的保存修复:设置eslint.codeAction.onSave.fixAll为true - 某些规则(比如
no-console)无法自动修复,只能报错;想自动修,得选带fixable: 'code'的规则 - 确保
eslint.validate包含你要处理的文件类型,例如['javascript', 'javascriptreact', 'typescript', 'typescriptreact'] - 如果项目用了 monorepo 结构,检查
.eslintignore是否意外排除了子包路径
团队提交前强制扫描,光靠 VSCode 设置根本没用
VSCode 配置只约束单机,Git 提交环节才是仓库规范落地的关键卡点。Node 环境在这里的作用,是让 husky 能调起本地 eslint 和 prettier 二进制。
- 运行
npx husky-init && npm install初始化 hooks,它会在.husky/pre-commit里写默认脚本 - 把 pre-commit 改成:
npx lint-staged --concurrent false,避免并行导致 ESLint 冲突 -
lint-staged配置要和 VSCode 规则对齐,例如:"*.{js,jsx,ts,tsx}": ["eslint --fix", "prettier --write"] - 别忘了在
package.json里加"prepare": "husky install",否则新成员 clone 后 hook 不生效
真正容易被忽略的是:.env 文件在调试时不会自动加载,launch.json 必须显式声明 envFile;而 husky 执行时根本看不到 .env,环境变量得靠 package.json scripts 里 cross-env NODE_ENV=development 这类方式注入。

















