Sublime Text需安装Sublime-HTMLPrettify插件并配置XML支持才能正确格式化XML文件,因其兼容ST4、正确处理自闭合标签与CDATA;慎用XML Tools因依赖外部工具易报错;格式化前须确保UTF-8无BOM及编码声明一致。

Sublime Text 里没有原生 XML 格式化功能
Sublime Text 默认不支持 XML 自动缩进或格式化,Ctrl+Shift+P 调出命令面板搜 Indent 或 XML 都不会出现可用命令。必须装插件,且得选对——很多标着 “XML Formatter” 的插件其实已多年未更新、不兼容 Sublime Text 4、甚至会把 错误展开成 。
推荐用 Sublime-HTMLPrettify(兼容 XML)
它本质是封装了 js-beautify,对 XML 支持稳定,能正确处理自闭合标签、CDATA、命名空间和属性换行。安装后需简单配置才能生效:
- 用
Package Control: Install Package装Sublime-HTMLPrettify - 打开
Preferences → Package Settings → HTMLPrettify → Settings - 在用户设置里加这段,明确启用 XML 支持:
{ "html": { "end_with_newline": true }, "xml": { "enabled": true, "indent_size": 2, "preserve_newlines": true } } - 保存后,打开 .xml 文件,按
Ctrl+Shift+H(Windows/Linux)或Cmd+Shift+H(macOS)即可格式化
XML Tools 插件慎用:功能多但默认不格式化
这个插件名气大,自带 XML Tools: Pretty Print 命令,但实际行为依赖系统是否装了 tidy 或 xmllint —— Windows 默认没这俩工具,直接运行会报错 Unable to find 'xmllint' in PATH。强行配环境容易卡在路径、编码、DTD 解析上。除非你明确需要校验 DTD 或 XSD,否则没必要为格式化去折腾外部依赖。
格式化前务必确认文件编码和 BOM
XML 对编码敏感,如果文件是 UTF-8 with BOM,部分插件会把 BOM 当作非法字符导致格式化失败或开头多出乱码。建议:
- 用
File → Reopen with Encoding → UTF-8强制转为无 BOM UTF-8 - 检查首行是否含
,encoding 值要和实际编码一致 - 若 XML 含中文且格式化后变问号,大概率是编码声明和真实编码不匹配
插件再好,也救不了编码混乱的源文件。










