Notepad++需通过Plugins Admin安装XML Tools插件(v7.6+不支持手动复制DLL),安装后须完全退出重开;格式化失败多因XML语法错误或编码声明与实际文件不匹配,须先校验语法并统一编码。

Notepad++ 本身不支持 XML 格式化,必须装 XML Tools 插件,且安装失败、格式化没反应、中文变方块——90% 都是编码不匹配或语法错误,不是插件问题。
XML Tools 插件装不上、Plugins 菜单里找不到
新版 Notepad++(v7.6+,尤其是当前 v8.5+)已彻底禁用手动复制 XMLTools.dll 到 plugins 目录的方式。哪怕文件放对路径,菜单也不会出现。
- 打开
Plugins → Plugins Admin,搜索XML Tools,勾选安装(自动匹配 x64/x32 架构) - 若搜不到,说明 Notepad++ 版本太旧(低于 v7.6)或被系统策略拦截——先升级到官网最新稳定版
- 安装后必须完全退出 Notepad++ 再重新打开,不是“重新加载”或“刷新”,否则插件环境未初始化
- 仍不显示?检查
%PROGRAMFILES%\Notepad++\plugins\XMLTools\是否存在,若无,说明安装中途失败,重试一次
Pretty print 没反应,或弹出 “no element found”
这不是插件卡住,是它明确告诉你:当前 XML 文件无法被解析。MSXML 引擎遇到语法瑕疵直接终止,不修复就不会继续。
- 先执行
Plugins → XML Tools → Check XML syntax,它会准确定位第几行、哪个字符出错 - 常见真凶:
&没转义成&、引号不配对(attr="value)、注释写成<!-- comment -->>、CDATA 块里混了]]> - BOM 头和
encoding声明打架也常触发此错:比如文件实际是 UTF-8 BOM,但声明写了encoding="GBK"→ 删除声明中的encoding属性,或统一用Encoding → Convert to UTF-8 -
Pretty print (XML only)不会补全缺失的</tag>,只美化已合法结构
格式化后缩进错乱、中文变方块或问号
缩进和乱码是两个独立问题,但总被一起抱怨——缩进由插件硬编码为 2 空格(不可配置),而乱码几乎全是 Notepad++ 当前编码标识与文件实际字节流不一致导致。
- 看右下角状态栏显示的编码(如
UTF-8、ANSI、UTF-8-BOM),再对比 XML 声明里的encoding=""是否匹配 - 不一致时,先用
Encoding → Character sets → UTF-8(或对应编码)强制转换,再保存;别直接点“以 UTF-8 无 BOM 格式编码” - 某些编辑器生成的 UTF-8 文件自带 BOM,Notepad++ 识别为
UTF-8-BOM,而声明若写UTF-8就会解码失败 - 缩进宽度不能改,
Settings → Preferences → Language → XML → Indent size对XML Tools无效
大文件格式化卡死、崩溃或响应极慢
XML Tools 底层依赖 MSXML,对内存敏感,处理 >5MB 的 XML 文件极易触发 Notepad++ 的保护性终止——这不是 Bug,是设计限制。
- 别硬等,关掉弹窗后继续等待只会增加崩溃概率
- 临时应急:用
Search → Replace把><替换为>\n<,再用TextFX → TextFX Edit → Reindent C++ code粗略对齐(仅限结构简单文件) - 真正可靠的大文件处理,得换专业工具:
xmllint --format(命令行)、VS Code(配合XML扩展)或在线工具如https://www.freeformatter.com/xml-formatter.html - 批量处理前,建议先用
Search → Find in Files搜encoding=,统一修正声明值,避免逐个文件手动调
最易被忽略的是:XML 声明里的 encoding 和 Notepad++ 右下角显示的编码必须严格一致,哪怕只差一个 -BOM,都会让中文变成方块——这不是字体问题,是字节流解码失败的必然结果。


















