需先安装node.js和prettier命令行工具,再装jsprettier插件;配置时须指定prettier_cli_path绝对路径并启用auto_format_on_save,确保文件类型识别正确且无其他插件冲突。

装插件前先确认 Node.js 和 Prettier 已就位
Sublime Text 本身不带格式化能力,prettier 是个命令行工具,必须本地能跑 prettier 命令才行。很多人配完插件没反应,卡在这一步。
- 终端执行
which prettier(macOS/Linux)或where prettier(Windows),有输出才说明已安装 - 推荐用 npm 全局装:
npm install -g prettier;如果用 pnpm/yarn,确保对应全局 bin 路径进了系统$PATH - 别用 Sublime 自带的 Package Control 装 “Prettier” 插件——那是旧版、已弃用,得装
JsPrettier
JsPrettier 插件怎么配才不报错
装好 JsPrettier 后,默认会找全局 prettier,但经常找不到,尤其在 macOS M1/M2 或用 nvm 管理 Node 版本时。
- 打开 Sublime → Preferences → Package Settings → JsPrettier → Settings
- 关键改两项:
"prettier_cli_path"显式填绝对路径,比如"/opt/homebrew/bin/prettier";"auto_format_on_save"设为true才真能保存即格式化 - 如果项目里有
.prettierrc,确保它在文件根目录(不是 Sublime 工作区根目录),JsPrettier默认只向上找一级 - 遇到
JsPrettier: Error: Cannot find module 'prettier',八成是prettier_cli_path指错了,或者用了 nvm 却没在 Sublime 启动环境里加载 shell 配置
JS/TS/HTML/CSS 格式化行为差异在哪
JsPrettier 名字带 JS,但它靠 prettier 本身支持多语言,实际行为取决于文件后缀和 prettier 版本,不是插件硬编码的。
- 默认对
.js.jsx.ts.tsx.html.css.md都生效,但.vue需额外加"additional_extensions": ["vue"] -
prettierv3+ 开始默认禁用htmlWhitespaceSensitivity的自动推断,如果 HTML 格式乱,显式设"html_whitespace_sensitivity": "css" - TS 文件若提示
Prettier: Invalid parser,检查prettier是否 >= v2.8.0(旧版不认.ts),或手动加"parser": "typescript" - 别在
settings里写"semi": false这类规则——它们该放项目级.prettierrc,插件 settings 只管运行时参数
为什么保存后没反应?几个隐蔽开关
看起来配好了,但 Ctrl+S 没触发格式化,大概率是被其他设置压制了,或者文件类型没识别对。
- 确认右下角状态栏显示的是
JavaScript/TypeScript/HTML,不是Plain text——否则JsPrettier直接跳过 - 检查
auto_format_on_save是否被用户 settings 覆盖:打开 Preferences → Settings – User,搜auto_format,删掉冲突项 - 如果用了
EditorConfig插件,它的indent_style可能和prettier冲突,建议关掉或统一设为space - 想调试:打开 Sublime 控制台(
Ctrl+`),保存文件,看有没有JsPrettier: running...日志;没有就说明根本没触发
真正麻烦的不是配路径,而是 Sublime 的环境变量和编辑器对文件类型的判定——这两处不动手查日志、看状态栏,光重装插件没用。










