Sublime Text 本身不处理代码格式化,必须由本地 Prettier CLI 驱动;全栈项目(JS/TS/HTML/CSS/JSON/Vue)统一排版的前提是 JsPrettier 正确配置 prettier_cli_path 绝对路径、识别文件类型(如 Vue Component/TypeScript)、并设置 additional_extensions 和 parser 等参数,否则因路径错误或语法识别失败将导致格式化静默失效。

Sublime Text 本身不处理代码格式化,Prettier 必须由本地 CLI 驱动;全栈项目(JS/TS/HTML/CSS/JSON/Vue)能统一排版,前提是 JsPrettier 插件正确指向可执行的 prettier 命令,且文件类型识别无误——否则 Vue 文件不格式化、TS 报 parser 错误、HTML 空格错乱,都是路径或配置错位导致的。
怎么确认 prettier 命令真能在 Sublime 里跑起来
插件不装 Node.js,也不帮你补 PATH。它只认终端里敲得通的 prettier。
- 先在终端执行
prettier --version,有输出才算通过基础检查 - 如果报
command not found,别急着配 Sublime——先查which prettier(macOS/Linux)或where prettier(Windows),没结果就说明没装或 PATH 没生效 - 全局安装推荐:
npm install -g prettier;用nvm的用户,确保 Sublime 启动时加载了 shell 配置(macOS 建议从终端命令open -a "Sublime Text"启动) - 拿到的绝对路径(比如
/opt/homebrew/bin/prettier或%AppData%\npm\prettier.cmd)必须一字不差填进 JsPrettier 设置里的prettier_cli_path
JsPrettier 怎么支持 Vue、TS、HTML 这些非 JS 文件
JsPrettier 不硬编码语言支持,它靠 prettier CLI 自身能力 + 文件后缀推断。但默认不认 .vue,TS 可能解析失败,HTML 空格可能塌陷——这些不是插件 bug,是参数没对齐。
分析 Vue 3 Composition API 使用情况——审计响应式模式、可组合函数设计、ref 与 reactive 的选择、计算属性、watcher 使用及组件……
-
.vue文件需在 JsPrettier 设置中加:"additional_extensions": ["vue"] - TS 文件若报
Prettier: Invalid parser,要么prettier版本太低(< v2.8.0不支持.ts),要么显式指定:"parser": "typescript" - HTML 格式后空格错乱?
prettierv3+ 默认禁用自动推断,必须设:"html_whitespace_sensitivity": "css" - 所有语法扩展都依赖文件右下角状态栏显示的是
Vue Component/TypeScript/HTML,不是Plain text——否则 JsPrettier 直接跳过
为什么 auto_format_on_save 看似开了却没反应
这个开关最常被其他设置静默覆盖,或者被文件上下文绕过。它不报错,只沉默失效。
- 检查右下角状态栏:显示
Plain text就等于告诉 JsPrettier “我不处理”,得先用Ctrl+Shift+P→Set Syntax: HTML手动切对 - 打开
Preferences → Settings – User,全文搜auto_format或format_on_save,删掉任何冲突项——JsPrettier 的开关叫auto_format_on_save,别的插件可能用不同命名抢注 -
.prettierrc必须放在 Sublime 工作区根目录(即你用File → Open Folder打开的那个文件夹),不是项目子目录;旧版 JsPrettier 只向上找一级,嵌套太深会漏掉 - 别在 JsPrettier 设置里写
"semi": false这类规则——它们该放.prettierrc,插件 settings 只管运行参数,不接管规则逻辑
真正卡住人的从来不是“怎么配”,而是 prettier_cli_path 指向一个根本不存在的路径,或文件类型被识别成 Plain text 却没意识到。这两点不排查清楚,其他配置全是白搭。

















