sublime text 本身不自动格式化代码,“保存即优雅”全靠插件实现;必须配对prettier_cli_path路径、正确识别语法模式(右下角非plain text/html)、并在auto_format_on_save_extensions中显式列出扩展名(如js/ts/vue),缺一不可。

Sublime Text 本身不自动格式化代码,所谓“保存即优雅”全是插件干的活;没配对路径、语法识别错、扩展名没列全,format_on_save 就是死开关。
JsPrettier 保存没反应?先看右下角语法模式和 prettier_cli_path
JsPrettier 默认只响应 .js、.ts、.vue 等扩展名,且严格依赖当前文件的语法识别结果。右下角显示 Plain Text 或 HTML?它直接跳过格式化。
- 手动点击右下角,切到
JavaScript(不是JavaScript (Babel),后者需在配置中显式加"javascript (babel)": true) - macOS 用户终端能跑
prettier --version,但 Sublime 找不到:必须硬填prettier_cli_path,比如/opt/homebrew/bin/prettier - 项目级
prettier(node_modules/.bin/prettier)路径要写全,Windows 注意用正斜杠或双反斜杠 - 验证方式:按
Ctrl+`调出控制台,执行import subprocess; subprocess.run(['prettier', '--version']),有输出才算通
Sublime-Code-Formatter 怎么配多语言 on-save
这个插件自带基础格式化逻辑,不强依赖外部 CLI,适合不想折腾 Node/Python 环境的用户,但想用 Prettier/Black 等工具时仍需额外配命令。
-
format_on_save必须设为true,且format_on_save_extensions要显式列出后缀,如["js","py","html","css"],空数组或漏写就失效 - 若对接本地
prettier,format_stdin必须为true,否则传入临时文件路径会失败 -
format_on_save_timeout_ms建议设成1000,避免大文件卡住保存流程 - Python 场景慎用
autopep8插件的 on-save 模式——它容易卡 UI,且默认不跳过venv/或.git/,建议改用black后端
HTML 文件里混写 JS/CSS 怎么安全格式化
JsPrettier 完全不处理 .html 文件;HTML-CSS-JS Prettify 会尝试解析内联 <script></script> 和 <style></style>,但遇到模板字符串或 CSS 变量极易误判。
- 最稳方案:把
<script>const html = `<div>${x}`</script>拆到单独.js文件,再用JsPrettier处理 - 必须保留混写时,换用
JsBeautify(免 Node 依赖),但要在设置里关掉"html": {"end_with_newline": false},否则可能多删空行 - 禁用 HTML 的 auto-format-on-save,只用快捷键临时触发:在 Key Bindings 用户配置中加
{"keys": ["ctrl+alt+h"], "command": "html_css_js_prettify"}
真正卡住的从来不是插件装没装,而是 Sublime 启动方式导致 PATH 不可见、语法模式没匹配上、或是 format_on_save_extensions 漏了一个后缀——这些地方一错,整个链路就断了。











