
Sublime Text需安装Sublime-HTMLPrettify插件并配置XML支持才能正确格式化XML文件,因其兼容ST4、正确处理自闭合标签与CDATA;慎用XML Tools因依赖外部工具易报错;格式化前须确保UTF-8无BOM及编码声明一致。
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
{
"html": {
"end_with_newline": true
},
"xml": {
"enabled": true,
"indent_size": 2,
"preserve_newlines": true
}
}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,否则没必要为格式化去折腾外部依赖。
XML 对编码敏感,如果文件是 UTF-8 with BOM,部分插件会把 BOM 当作非法字符导致格式化失败或开头多出乱码。建议:
File → Reopen with Encoding → UTF-8 强制转为无 BOM UTF-8,encoding 值要和实际编码一致插件再好,也救不了编码混乱的源文件。