JsPrettier是Sublime Text中唯一持续维护、支持ST4、可读取.prettierrc且兼容Vue/TSX的稳定Prettier封装;其他同名插件已停更或不支持--parser vue等关键功能。

Sublime Text 本身不运行 Prettier,所谓“最强插件”只是个调用器——JsPrettier 是目前唯一持续维护、支持 Sublime Text 4、能读取 .prettierrc 且兼容 Vue/TSX 的稳定封装。其他名字带 “Prettier” 的插件要么已停更,要么连 prettier --parser vue 都不支持,配置再全也白搭。
为什么 which prettier 有输出,但 Sublime 还是报 prettier command not found
Sublime 不继承 shell 的 PATH,尤其当你用 nvm、pnpm 或 macOS 的 zsh 时,它根本找不到你终端里能跑的 prettier。
- 必须在
JsPrettier用户设置里显式填prettier_cli_path,例如:/Users/you/.nvm/versions/node/v20.15.0/bin/prettier -
node_path同样要填绝对路径,否则插件启动 Node 子进程失败 - 别信
yarn global add prettier—— Yarn 3+ 的.yarn/bin路径默认被 Sublime 忽略 - 验证方式:打开 Sublime 控制台(
Ctrl+`),保存一个 JS 文件,看是否有prettier_cli_path not found类错误
auto_format_on_save 开了却没反应?检查这三件事
不是插件坏了,而是作用域或文件类型没匹配上。JsPrettier 默认只对 javascript、json、typescript 语法生效,Vue 和 JSX 需手动加白名单。
Prettier 是一款"有主见的"代码格式化工具,通过解析代码并按照统一规则重新格式化,强制执行一致的代码风格。支持 JavaScript、TypeScript、CSS、SCSS、HTML、Vue、JSON、Markdown、YAML 等多种语言。可配置为保存时自动格式化。
- 确认当前文件右下角显示的语法是
JavaScript或Vue Component,不是Plain Text—— 错误语法名会导致插件跳过 - 在
JsPrettier设置中加"custom_file_extensions": ["js", "jsx", "ts", "tsx", "vue", "json", "css"] - 如果项目根目录有
.prettierrc,但插件没读取,加"use_editor_config": true;若想强制忽略项目配置,设"auto_format_on_save_requires_prettier_config": false
Vue 单文件组件格式化失败?--parser vue 是硬性要求
默认 prettier 把 <template> 当成普通 HTML 解析,会丢内容、错缩进。必须告诉它这是 Vue SFC。
- 在
JsPrettier设置里加:"additional_cli_args": {"--parser": "vue"} - 仅对
.vue文件生效;JS/TS 文件仍用默认babel或typescript解析器 - 别用
"--parser babel"强塞 Vue 文件——会报Unexpected token < - 如果用了
eslint-plugin-prettier,禁用 JsPrettier 的自动格式化,否则两个工具打架:ESLint 插件加的分号,Prettier 立刻删掉
最常被忽略的其实是 prettier_cli_path 的路径是否指向真实可执行文件——哪怕多一个斜杠、少一个版本号,Sublime 就静默失败,控制台也不报错,只当没这回事。配完务必用 prettier --version 在终端和 Sublime 控制台里各跑一次,确保两者输出一致。


















