XML Tools 是唯一能安全折叠/展开 XML 标签的插件,需满足三条件:状态栏显示 XML 模式、UTF-8 无 BOM 编码、语法合法;快捷键支持层级折叠、属性折叠等精准控制;格式化行为符合 XML 规范,非 bug。

XML Tools 是唯一能安全压缩(折叠)和展开 XML 标签的插件
其他名字带“Pretty”“Formatter”“Beautiful”的插件,基本只做正则换行或盲目闭合标签,对 、命名空间、自闭合标签或嵌套注释完全无感。只有 XML Tools 会真正解析 DOM 结构,从而支持精准的层级折叠与展开——但前提是它得“认出这是 XML”。
折叠 XML 标签前必须确认三件事
快捷键没反应?不是插件坏了,而是编辑器根本没进入 XML 模式:
- 右下角状态栏必须显示为
XML(带图标),不是XML (Text)或Plain text;点它 → 搜索XML→ 选第一个 - 文件编码必须是
UTF-8(无 BOM):菜单File → Reopen with Encoding → UTF-8,再Save with Encoding → UTF-8 - XML 必须语法合法:不能有裸露的
&(得写成&)、未闭合标签、开头含\ufeff(BOM)、或文本中出现孤立>
用快捷键精准控制 XML 折叠层级
别靠光标猜,不同组合对应明确语义:
-
Ctrl+Shift+[(Win/Linux)或Cmd+Shift+[(macOS):折叠光标所在最内层标签块(如只折<p>...</p>) -
Ctrl+K, Ctrl+1到Ctrl+K, Ctrl+9:按缩进层级折叠,Ctrl+K, Ctrl+1折一级(如全部<book></book>),Ctrl+K, Ctrl+2折二级(如每个<book></book>内的<author></author>) -
Ctrl+K, Ctrl+0:折叠所有可折叠区域(适合快速扫结构);Ctrl+K, Ctrl+J展开全部 -
Ctrl+K, Ctrl+T:专门折叠 HTML/XML 标签的属性(让<img src="x" alt="y" title="z">变成一行)
格式化后注释偏移、CDATA 展开,不是 bug
这是 XML Tools 严格遵循 XML 规范的表现:
-
<!-- comment -->被当作文本节点重排,原始位置不保留,可能被移到新行或缩进错位 -
内容会被解析为普通文本并重缩进,不会保持原样包裹 - 属性不会重排、不换行、不排序;
<img alt="Sublime插件压缩与展开XML文件的操作" >可能被展开为<img alt="Sublime插件压缩与展开XML文件的操作" >(取决于底层解析器) - 想控制这些细节?插件不提供开关——此时该切到
xmllint --format或 Python 脚本,而不是继续调参数
大文件(>2MB)或中文乱码时,别硬等 XML Tools 响应。它内存全量加载,不是流式处理;中文变问号八成是编码没切对;而 DOCTYPE 消失、注释移位、CDATA 展开,全是它在认真干活的痕迹,不是故障。

















