XML格式化没反应,先确认三件事:右下角状态栏显示纯XML(非XML Text)、编码为无BOM的UTF-8、XML语法合法(根唯一、标签闭合、&转义);否则XML Tools会直接报错停住。

XML格式化没反应?先看这三件事
格式化失败,90%不是插件问题,而是卡在前置条件上。快捷键 Ctrl+Alt+Shift+P(Win/Linux)或 Cmd+Alt+Shift+P(macOS)只是触发器,它依赖三个硬性前提:
- 右下角状态栏必须显示为
XML(带图标的那个),不是XML (Text)或XML (Sublime);点它手动切换 - 文件编码必须是无 BOM 的
UTF-8:菜单File → Reopen with Encoding → UTF-8,再Save with Encoding → UTF-8 - XML 必须语法合法:根节点唯一、所有标签闭合、属性值用引号包裹、裸露的
&替换为&;否则XML Tools直接报错停住
为什么“Pretty XML”插件不推荐装?
搜 “Pretty XML”“XML Formatter”“Beautiful XML” 安装后发现缩进错乱、<img src="x"/> 被强行闭合成 <img src="x"></img>——这不是你操作错,是这类插件根本不解析 XML 结构,只做正则换行。真正能安全处理嵌套、CDATA、命名空间和实体的,只有 XML Tools:
- 必须通过
Package Control: Install Package安装,拖 .sublime-package 文件进Packages/目录无效 - 安装后执行
Package Control: Satisfy Dependencies(尤其 macOS / Linux),否则可能缺依赖不生效 - 命令面板里搜
XML Tools: Pretty Print (XML)能出现并执行,才算装到位
多层标签折叠怎么精准控制?
Sublime 默认对 XML 标签对折叠,但行为受语法定义限制。想折叠 <div><p><span>...</span></p></div> 这类嵌套,得靠快捷键组合,而不是靠光标位置猜:
-
Ctrl+Shift+[(Win/Linux)或Cmd+Shift+[(macOS):折叠光标所在最内层标签块(如只折<span>...</span>) -
Ctrl+K, Ctrl+1到Ctrl+K, Ctrl+9:按缩进层级折叠,Ctrl+K, Ctrl+1折一级(如全部<book>),Ctrl+K, Ctrl+2折二级(如每个<book>内的<author>) -
Ctrl+K, Ctrl+0:折叠所有可折叠区域(适合快速扫结构);Ctrl+K, Ctrl+J展开全部 - 注意:如果某标签没被折叠,大概率是语法识别未激活——确认右下角是
XML,不是Plain Text或HTML
大文件或中文乱码时别硬扛
XML Tools 是内存全量加载,不是流式处理。500KB 以内稳,超过 2MB 就容易卡死或弹无响应警告;中文变问号不是插件坏了,是编码没切对;DOCTYPE 消失、注释移位、CDATA 展开——这些不是 bug,是插件严格保留原始语义的默认行为。
真遇到复杂需求(比如属性自动排序、长属性折行、命名空间归一化),别折腾配置,直接切工具链:xmllint --format 命令行更稳,或用 Python 脚本调 xml.etree.ElementTree + minidom.toprettyxml() 控制细节。Sublime 的角色,是轻量编辑,不是 XML 工程器。

















