PhpStorm中ESLint不标红主因是未运行:先确认右下角ESLint图标是否亮起;需启用插件、路径指向项目本地node_modules/.bin/eslint(Windows为eslint.cmd)、勾选“Run eslint from package.json”、手动指定配置文件、匹配Node版本、正确配置parser及files规则。

PhpStorm 里 ESLint 不标红、不提示,八成不是规则写错了,而是它根本没跑起来——先看右下角状态栏有没有亮起的 ESLint 图标。
ESLint 插件启用与路径必须指向项目本地
插件没启用或路径错配是“零提示”的首要原因。Settings → Plugins 中搜索 ESLint,确保已勾选启用;接着去 Settings → Languages & Frameworks → JavaScript → Code Quality Tools → ESLint,检查两项:
-
Node interpreter必须指向项目级 Node(如$ProjectFileDir$/node_modules/.bin/node或你本地安装的node可执行文件),不能是全局路径 -
ESLint package必须填项目内真实路径:$ProjectFileDir$/node_modules/.bin/eslint(macOS/Linux)或$ProjectFileDir$/node_modules/.bin/eslint.cmd(Windows) - 若用 pnpm/yarn,
node_modules/.bin/eslint可能是软链接,PhpStorm 在 Windows 下常读取失败;可临时复制一份真实可执行文件(如重命名为eslint-local.cmd),再指向它
配置文件必须手动指定,别信 Automatic detection
PhpStorm 自动探测容易加载父目录或全局的 .eslintrc.js,导致规则错乱甚至静默失效。
- 取消勾选
Automatic configuration file detection - 在
Configuration file栏中填入绝对路径,例如:$ProjectFileDir$/.eslintrc.cjs或$ProjectFileDir$/eslint.config.js - 若用新式扁平化配置
eslint.config.js,确保 Node 版本 ≥18.12,且 PhpStorm 设置中指定的Node interpreter版本匹配——旧版 Node 会直接报Unexpected token 'export',而不是“找不到配置文件”
Vue/TS/HTML 文件不校验?检查 parser 和 processor
JS 文件有提示但 .vue、.ts 或 .html 完全静音,大概率是 ESLint 没识别到文件类型,或解析器没配对。
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
立即学习“PHP免费学习笔记(深入)”;
- 对
.ts:确认parser设为@typescript-eslint/parser,且plugins包含@typescript-eslint;parserOptions.project指向tsconfig.json - 对
.vue:需eslint-plugin-vue,并在extends中加入plugin:vue/vue3-essential等;避免与eslint-plugin-html冲突——后者在 Vue 项目中通常被绕过 - 对
.html内嵌脚本:必须装eslint-plugin-html,并在配置中显式声明processor: "html/html";仅plugins: ["html"]不生效
Fix on Save 只修缩进?这不是配置漏了,是 ESLint 本身限制
勾了 Fix on Save 却只修 indent、不修 quotes 或 no-unused-vars,问题不在设置,而在规则是否支持自动修复。
-
eslint --fix只能修复带fixable: true标记的规则(如quotes、semi、indent) -
no-console、react-hooks/exhaustive-deps、no-alert等规则根本不支持自动修复 - 想更激进地修复,可在
package.json中加 script:"fix": "eslint . --fix --fix-type problem,layout",再配合 File Watchers 手动触发——但这会绕过编辑器实时校验逻辑
最常被忽略的一点:所有路径都必须是**项目内真实可执行文件的绝对路径**,不是目录、不是命令名、不是全局 bin;而 Run eslint from package.json 这个勾选项,本质是让 PhpStorm 用 npx eslint 启动,它才是解决 Cannot find module 'eslint-plugin-react' 类错误的真正钥匙。

















