ESLint-Formatter插件需通过Package Control安装,配置format_on_save、local_eslint_path指向./node_modules/.bin/eslint(Windows为eslint.cmd),并确保项目本地安装eslint及对应插件(如Vue项目需eslint-plugin-vue),否则保存无反应。

Sublime Text 本身不支持 ESLint 自动格式化,必须靠插件调用本地 eslint CLI 实现——而且不是装上插件就完事,90% 的失败都卡在路径或配置没对上。
ESLint-Formatter 插件怎么装和配才有效
这是目前最贴近 ESLint 原生行为的方案,专为格式化设计(不带 lint 提示),依赖项目级 eslint 和 .eslintrc.* 配置。
- 用 Package Control 安装
ESLint-Formatter(别装 SublimeLinter-eslint,它只 lint 不格式化) - 确保项目根目录有本地安装的
eslint:npm install eslint --save-dev,并含eslint-plugin-vue等对应插件(Vue 项目必须) - 打开
Preferences → Package Settings → ESLint-Formatter → Settings – User,写入:
{
"format_on_save": true,
"local_eslint_path": "./node_modules/.bin/eslint",
"auto_fix": true
}
local_eslint_path 必须指向项目内真实的 eslint 可执行文件(Windows 是 eslint.cmd),不能只写 eslint——否则 Sublime 找不到命令。
为什么保存没反应?重点查这三处
常见“点了保存但代码纹丝不动”,基本逃不出下面三个坑:
-
eslint没法识别.vue文件:检查.eslintrc.cjs里是否包含"plugin:vue/vue3-essential"(Vue3)或"plugin:vue/essential"(Vue2),且eslint-plugin-vue已安装 - Sublime 拿不到 Node.js 环境:macOS GUI 应用默认读不到
~/.zshrc里的PATH,要么改用绝对路径配node_path,要么用eslint_d替代(启动更快、环境更稳) - 文件类型没被识别:右下角看 Sublime 是否显示 “Vue” 语法;如果不是,进
View → Syntax → Open all with current extension as… → Vue
VSCode 用户转 Sublime 容易忽略的细节
VSCode 里 editor.codeActionsOnSave 能触发 ESLint 修复,但 Sublime 没这个机制——ESLint-Formatter 的 format_on_save 实际是调用 eslint --fix 命令重写整个文件,所以:
- 它不会保留光标位置,格式化后光标会跳到文件开头
- 不支持部分选中区域格式化(除非手动调用命令面板里的
ESLintFormatter: Format selection) - 如果
.eslintrc里开了"no-console": "error"这类非格式类规则,--fix会失败且静默退出——得关掉或改成"warn"
真正起效的关键不在插件数量,而在 eslint 命令能否在 Sublime 进程里跑通。建议先在终端进项目根目录,手动运行 npx eslint --fix src/App.vue,成功了再配插件。


















