jsprettier是sublime中唯一靠谱的html格式化方案,需正确配置prettier_cli_path绝对路径、项目根目录.prettierrc(含htmlwhitespacesensitivity:"css")、文件语法识别为html,三者缺一不可。

JsPrettier 是唯一靠谱的 HTML 格式化方案
别装 HTML-CSS-JS Prettify 或 Prettier - JavaScript formatter——前者底层调用已废弃的 js-beautify CLI,对 <dialog></dialog>、<slot></slot> 等 HTML5 语义标签闭合错乱;后者只认 .js 文件,默认跳过 .html。真正能稳定处理 HTML 的只有 JsPrettier,它直接调用系统全局的 prettier 命令行工具,支持 HTML/CSS/JS/Vue/Svelte 多语言统一解析。
安装前必须确认:node -v 和 npm -v 能正常输出版本号;终端执行 prettier --version 有响应(若无,运行 npm install -g prettier)。
prettier_cli_path 必须填绝对路径,否则格式化必失败
很多人配完 JsPrettier 按快捷键没反应,90% 是因为 prettier_cli_path 留空或填了相对路径。Sublime 启动时不会加载 shell 的 $PATH,尤其在 macOS M1/M2 或使用 nvm 时,which prettier 输出的路径必须原样粘贴进去。
- macOS:打开终端执行
which prettier,结果类似/opt/homebrew/bin/prettier或/usr/local/bin/prettier,复制整段填入JsPrettier设置里的prettier_cli_path - Windows:用
where prettier,结果类似C:\Users\XXX\AppData\Roaming\npm\prettier.cmd,注意保留.cmd后缀 - Linux:
which prettier输出如/usr/local/bin/prettier,直接填入
填错会导致 JsPrettier: Error: Cannot find module 'prettier' 或静默失效。
HTML 格式化乱码?检查 htmlWhitespaceSensitivity 和语法识别
常见现象:<div> hello </div> 被格式成 <div>hello</div>(丢失首尾空格),或 <p><span>text</span></p> 缩进错位。根本原因是 prettier 默认不推断 HTML 空格敏感度,且 Sublime 未正确识别文件类型。
- 项目根目录必须放
.prettierrc(不是 Sublime 配置目录),内容至少含"htmlWhitespaceSensitivity": "css" - 右下角状态栏必须显示
HTML,不是Plain text或XML;点它手动选HTML,或按Ctrl+Shift+P→ 输入Set Syntax: HTML - Vue 单文件组件需额外加
"parser": "html"到.prettierrc,否则<template></template>块可能被当 JS 解析
保存自动格式化不生效?三个隐藏开关要关对
设了 "auto_format_on_save": true 却没反应,不是插件坏了,而是被其他配置压制了。
- 打开
Preferences → Settings – User,搜format_on_save,删掉所有含该字段的行——JsPrettier自己的auto_format_on_save才有效,全局format_on_save会覆盖它 - 确认
JsPrettier设置里"auto_format_on_save_excludes"没误写成["*.html"]这类排除规则 - 检查快捷键是否被
Emmet或SideBarEnhancements抢占:打开Preferences → Key Bindings,搜索js_prettier,看绑定是否为ctrl+shift+h(Win/Linux)或cmd+shift+h(macOS)
HTML 格式化不是“装完就灵”,关键在 prettier_cli_path 路径对不对、.prettierrc 放哪、语法类型认不认——三者错一个,就白配。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











