sublimelinter-eslint 找不到 eslint 可执行文件需先验证终端中 npx eslint --version 是否成功及 node_modules/.bin/eslint 是否存在;配置需在用户设置中硬编码 executable 为数组形式 ["./node_modules/.bin/eslint"]。

SublimeLinter-eslint 找不到 eslint 可执行文件?先确认它真在那儿
绝大多数“没反应”问题,根源不是插件装错,而是 Sublime 根本没找到 eslint 命令。它不会报错,只会静默跳过校验。
必须手动验证两件事:
- 在终端进入你的项目根目录,运行
npx eslint --version—— 如果失败,说明本地没装或路径不对; - 检查
node_modules/.bin/eslint是否真实存在(macOS/Linux 是软链,Windows 是批处理脚本,但 SublimeLinter-eslint 只认eslint这个名字,不认eslint.cmd)。
优先用项目级安装:npm install eslint --save-dev,然后在 SublimeLinter 用户设置里硬编码路径:
{
"linters": {
"eslint": {
"executable": ["./node_modules/.bin/eslint"]
}
}
}
注意:"executable" 必须是数组,写成字符串会静默失效;./ 是相对于当前打开的项目根目录,不是 Sublime 安装路径。
为什么 .eslintrc.js 不生效?名字、位置、加载逻辑全要对上
ESLint 不会主动告诉你配置文件被忽略了。它只会在找不到时退回到默认规则,结果就是“没报错”或“只报基础错误”,你以为配置成功了,其实根本没加载。
三要素缺一不可:
-
文件名必须标准:只认
.eslintrc.js、.eslintrc.cjs、.eslintrc.json、.eslintrc.yml;eslint.config.js(v8.50+ 新格式)目前不被 SublimeLinter-eslint 支持; -
必须放在项目根目录或其任意父级目录——前提是 Sublime 是通过 Project → Add Folder to Project 打开整个文件夹,而不是双击单个
.js文件; -
避免语法陷阱:比如
"ecmaVersion": "latest"在旧版插件中可能解析失败,换成具体数字如2022更稳。
验证是否真被读取:终端进项目根,运行 eslint --print-config index.js,看输出是否含你写的 rules 和 extends。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
想保存自动修复?--fix 得手动加,且仅限安全规则
SublimeLinter-eslint 默认只做检查(lint),不做修复(fix)。右下角显示 ESLint: 3 errors 却不改代码,不是 bug,是默认行为。
启用自动修复需显式配置:
{
"linters": {
"eslint": {
"args": ["--fix"]
}
}
}
但要注意:
-
--fix只能修复语法类问题(引号、分号、缩进、空格等),无法处理逻辑错误或规则冲突; - 若项目含 Vue 或 TypeScript,得补全扩展名:
"args": ["--fix", "--ext", ".js,.jsx,.ts,.tsx,.vue"]; - 某些规则(如
no-console)不支持自动修复,加了--fix也无效。
background 模式卡顿?不是 ESLint 慢,是它在扫整个 node_modules
设了 "lint_mode": "background" 后编辑器变慢,大概率不是 Node 性能差,而是 ESLint 默认从当前文件向上查找配置,并可能递归检查 node_modules 下的依赖文件。
两个轻量级解法:
- 在项目根加
.eslintignore,明确排除node_modules/**、dist/**、build/**; - 把
"lint_mode"改回"on_save",配合"delay": 0.3,既保响应又避高频触发。
真正容易被忽略的是:Sublime 的 “background” 并非“边打字边 lint”,而是修改后延迟触发 —— 它没有真正的实时语法流分析能力,所有高亮都基于一次完整的 eslint 进程调用。复杂项目里,这一步本身就可能耗时几百毫秒。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










