需同时安装SublimeLinter和SublimeLinter-eslint;确保项目根目录含node_modules/.bin/eslint并正确配置.eslintrc.*;自动修复需手动配置构建系统或插件。

Sublime 安装 Eslint 插件后没反应?检查 SublimeLinter 和 SublimeLinter-eslint 是否都装了
只装 SublimeLinter-eslint 是不够的——它只是 ESLint 的“翻译官”,真正跑 lint 任务的是底层的 SublimeLinter 核心。漏装前者,插件图标可能显示正常,但保存/编辑时完全不报错。
- 用 Package Control 装两个包:
SublimeLinter(必须先装),再装SublimeLinter-eslint - 装完重启 Sublime,按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入SublimeLinter: Toggle Linting确认已启用 - 如果提示
"ESLint is not installed",说明插件找不到本地eslint命令——不是插件问题,是环境问题(见下一条)
Sublime 找不到 eslint 命令?优先走项目级 node_modules/.bin/eslint
SublimeLinter-eslint 默认会尝试调用全局 eslint,但现代项目基本都用本地安装(npm install eslint --save-dev)。全局装不仅污染环境,还容易版本错乱。
- 确保项目根目录有
node_modules/.bin/eslint(即运行过npm install) - 在 Sublime 里打开项目文件夹(
Project → Add Folder to Project),而不是单个 JS 文件——否则插件无法向上查找node_modules - 如仍报错,手动指定路径:菜单
Preferences → Package Settings → SublimeLinter → Settings,加这一段:
{
"linters": {
"eslint": {
"executable": ["./node_modules/.bin/eslint"]
}
}
}
注意:./ 表示相对于当前打开的文件所在项目根目录,不是 Sublime 安装目录。
.eslintrc.* 配置文件不生效?确认格式、位置和解析器兼容性
Sublime 不会自动识别任意命名的配置文件。它只认标准名(.eslintrc.js、.eslintrc.cjs、.eslintrc.json、.eslintrc.yml),且必须放在项目根目录或父级目录中(ESLint 自身的向上查找逻辑)。
- 别用
eslint.config.js(ESLint v8.50+ 新格式)——SublimeLinter-eslint 当前版本(截至 2024)还不支持 - 如果用了
parserOptions.ecmaVersion或env,确保值合法,比如"ecmaVersion": 2022比"ecmaVersion": "latest"更稳 - 用
eslint --print-config index.js在终端验证配置是否被正确加载——这是最准的判断方式
保存后没自动修复?eslint --fix 不是默认行为,得手动配快捷键或命令
SublimeLinter 只做“检查”,不带“修复”功能。想保存时自动 fix,得额外配一个构建系统或使用 ESLint-Formatter 这类辅助插件。
- 更轻量的做法:用快捷键触发修复。菜单
Tools → Build System → New Build System,填入:
{
"shell_cmd": "eslint --fix "$file"",
"selector": "source.js",
"file_regex": "^(.+):([0-9]+):([0-9]+):\s+(.*)$"
}
- 保存为
ESLint-Fix.sublime-build,然后按Ctrl+B(或Cmd+B)就能执行修复 - 注意:该命令只修当前文件,且依赖项目里
eslint支持对应规则的 fix(有些规则如no-console就不可 auto-fix)
真正的坑在于:很多人以为装完插件就该“自动 fix”,结果等半天没反应——其实 Sublime 压根没这个设计,默认只标红线。










