Sublime Text 4 下真正可用的格式化插件是 HTML-CSS-JS Prettify、JsPrettier、CSScomb(新版)、XML Tools;搜不到命令主因是语法未设为对应语言(如右下角须显示 CSS/HTML/XML/JS,非 Plain text 或 Vue/SCSS),且老插件如 CSSFormat、Indent XML 已失效或破坏现代语法。

HTML-CSS-JS Prettify、JsPrettier、CSScomb、XML Tools 是当前 Sublime Text 4 下真正能用的格式化插件,其余带 “Beautify”“Format” 字样的老插件(如 CSSFormat、Indent XML)基本已失效或破坏现代语法。
为什么 Ctrl+Shift+P 里搜不到 “Format CSS” 或 “Pretty HTML”?
不是插件没装好,而是 Sublime 没把当前文件识别为对应语言:
- 右下角状态栏必须显示
CSS、HTML、XML或JavaScript,不能是Plain text、SCSS、Vue Component(除非插件明确支持) -
.vue文件里的块默认不被HTML-CSS-JS Prettify处理,得先手动选中 CSS 内容再运行命令 - 打开
.xml文件后若显示XML (Text),点击它 → 选XML(纯名称),否则XML Tools的Pretty Print (XML)不出现 - 控制台(
View → Show Console)里如果报ImportError或no module named,说明插件 Python 模块加载失败,需重装或换插件
JsPrettier 装了却按 Ctrl+Alt+F 没反应?查这三处
JsPrettier 依赖外部环境,静默失败是常态:
-
prettier_cli_path必须指向真实可执行文件:macOS 常为/usr/local/bin/prettier,Windows 常为C:\Users\xxx\AppData\Roaming\npm\prettier.cmd;路径错一个字符就无效 -
node_path要设对,且node -v输出 ≥ 14.0.0;旧版 Node.js 无法解析::before、--custom-property - 右下角语法必须是
JavaScript(不是JSX或TypeScript),否则命令面板里搜不到JsPrettier相关项
缩进错、属性乱序、calc() 里的空格没了?不是插件 bug,是配置没覆盖
所有插件默认配置都不适配主流项目规范,必须手动改:
-
HTML-CSS-JS Prettify:在用户配置里加"indent_size": 2和"sort_properties": false,否则默认 4 空格 + ASCII 排序 -
CSScomb:首次运行会在项目根目录生成.csscomb.json,删不得;关键要改"space-before-parentheses"(保留calc(100% - 2px)中空格)和"always-semicolon" -
XML Tools:不读取任何配置文件,缩进固定为 2 空格;想调成 4 空格?做不到——它没这个选项
别碰这些插件:CSSFormat、CSScomb(旧版)、Indent XML
它们不是“不好用”,是根本跑不起来或直接破坏代码:
-
CSSFormat最后更新于 2019 年,Sublime Text 4 启动时抛AttributeError: 'NoneType' object has no attribute 'groups',且会吃掉clamp()、minmax()中的空格 - 旧版
CSScomb(非 Package Control 官方源安装)不生成.csscomb.json,所有配置只能硬编码在插件设置里,升级即丢失 -
Indent XML不解析结构,只做字符串缩进;遇到闭合缺失也不报错,美化完仍是非法 XML
真正麻烦的从来不是“怎么装”,而是“怎么让 Sublime 找到 prettier、怎么让 CSScomb 认出 calc 里的空格、怎么让 XML Tools 别把 UTF-8 with BOM 当乱码”。这些细节不调,装十遍插件也没用。










