Sublime Text 不自动排版,需按数据类型选用对应插件:JSON 用 Pretty JSON(须合法、UTF-8无BOM、状态栏显JSON),XML 用 XML Tools(禁用 HTML-CSS-JS Prettify),SQL 用 SQLBeautifier,Python 字典/列表优先用 sublime_black;所有插件依赖外部 CLI 工具且要求输入合法,格式化前务必验证。

Sublime Text 本身不自动排版,所谓“自动排版杂乱的数据源”必须按数据类型拆解处理——JSON、XML、SQL、Python 字典/列表等,各自依赖不同插件、不同 CLI 工具、不同前置条件,混用或跳步必失败。
Ctrl+Alt+J 格式化 JSON 为什么静默没反应
不是快捷键失效,是 Pretty JSON 插件压根没触发:它只对合法 JSON 起作用,且要求四要素同时满足。
- 右下角状态栏必须显示
JSON(不是JSON with Comments或Plain Text),点它手动切 - 文件编码必须是
UTF-8(无 BOM):菜单File → Reopen with Encoding → UTF-8 - 内容不能含单引号、尾随逗号、
//注释、未闭合括号——这些都会导致静默跳过,不报错也不提示 -
Package Control必须已安装并可用:按Ctrl+Shift+P输入Install Package能搜到才算到位
验证是否合法?复制内容到浏览器控制台执行 JSON.parse(),或终端运行 python -m json.tool yourfile.json。
XML 杂乱数据必须用 XML Tools,别碰 HTML-CSS-JS Prettify
HTML-CSS-JS Prettify 会把 <tag attr="val"></tag> 当 HTML 处理,可能错误闭合自闭合标签,破坏语义。唯一可靠的是 XML Tools 插件。
- 安装必须走
Package Control: Install Package→ 搜XML Tools(不是 “XML Formatter” 或 “Pretty XML”) - 快捷键
Ctrl+Alt+Shift+P生效前提:右下角显示XML、编码为无 BOMUTF-8、开头无非法字符(如\x00或 BOM) - 文件里有未转义的
&(如price & tax)?先全局替换成&,否则解析直接报错 - 大文件(>2MB)会卡死:它一次性加载全量 DOM,无流式处理能力
格式化后注释偏移、 被展开成纯文本,是插件默认行为,无法关闭——这类结构敏感的数据,格式化前务必备份原始段落。
SQL 和 Python 字典/列表要分路径走
SQL 杂乱语句用 SQLBeautifier,Python 中的 dict/list 字符串(比如日志里截出来的 {"name": "a", "items": [...]})不能用 Pretty JSON,得先转成合法 JSON 再处理;更稳妥的是用 sublime_black 配合 black CLI 格式化整个 Python 文件。
-
SQLBeautifier安装后,选中 SQL 片段 →Ctrl+Shift+P→ 输入SQLBeautifier: Beautify SQL;关键字大小写、缩进风格在Preferences → Package Settings → SQLBeautifier → Settings – User里调 - Python 字典字符串若独立存在(非完整 .py 文件),需手动补全引号和括号使其合法,再用 Pretty JSON;否则推荐保存为临时
.py文件,用sublime_black(快捷键默认Ctrl+Shift+K,建议改绑为Ctrl+Alt+B) -
sublime_black要求终端能执行black --version;Windows 用户注意路径含空格(如C:\Program Files\...)会导致调用失败
所有插件都依赖外部 CLI 工具(prettier、black、sqlformat 等),它们在终端能跑 ≠ Sublime 能调用——macOS/Linux 要检查 $PATH 是否被 Sublime 正确读取,Windows 要确认 npm 全局路径已加入系统环境变量并重启 Sublime。
局部格式化比全文件更安全,但必须手动选中
日志、响应体、数据库导出结果常混着非目标数据(如 HTTP 头、SQL 注释、多余空行),全文件格式化极易崩。正确做法永远是:先用 Ctrl+F 定位目标 JSON/XML/SQL 块,鼠标拖选或 Ctrl+Shift+L 拆行后框选,再触发对应格式化命令。
- 没选中任何文本时,
Pretty JSON格式化整个文件;只选一段,就只处理那段 -
XML Tools对未闭合标签或命名空间错误极其敏感,局部选中可规避整文件解析失败 -
SQLBeautifier不支持多语句块自动分割,若粘贴的是带多个;的批量 SQL,需手动分段选中
最易被忽略的一点:所有格式化插件都不校验语法错误,只做结构重排。所谓“排版失败”,90% 是输入本身不合法,而不是插件或配置问题——先验证,再格式化,顺序不能反。


















