JSONPretty是Sublime Text中轻量稳定的JSON格式化插件,默认快捷键Ctrl+Shift+H(Mac为Cmd+Shift+H),仅支持合法JSON且固定2空格缩进,不校验语法错误,冲突时可自定义键位绑定json_pretty_print命令。

安装 JSONPretty 插件后,Ctrl+Shift+H 是默认格式化快捷键
Sublime Text 本身不带 JSON 格式化功能,必须通过插件实现。最轻量、稳定、无依赖的方案是 JSONPretty —— 它不调用外部命令,不依赖 Python 环境,纯 Sublime 原生实现。
安装方式:打开命令面板(Ctrl+Shift+P),输入 Package Control: Install Package,回车后搜索 JSONPretty 并安装。装完无需重启,立即生效。
- 确保文件后缀是
.json,或手动设置语法为JSON(右下角点击 →JSON) - 如果选中了部分文本,
Ctrl+Shift+H只格式化选中区域;全文件格式化请先Ctrl+A - 该快捷键在其他语法(如 JavaScript)下无效,不会误触发
若快捷键冲突或失效,手动绑定 json_pretty_print 命令
有些系统或插件会占用 Ctrl+Shift+H(比如某些输入法或终端模拟插件),此时需自定义快捷键。打开 Preferences → Key Bindings,在右侧用户键位文件中添加:
[
{ "keys": ["ctrl+alt+j"], "command": "json_pretty_print" }
]注意:command 名称必须是 json_pretty_print,不是 pretty_json 或 json_reindent —— 后两者属于其他插件,行为和容错性不同。
- 保存后新键位立即可用,无需重启
- 避免使用
Ctrl+Shift+J,它默认被 Sublime 用于“切换折叠” - Mac 用户请把
ctrl换成super(即Cmd)
格式化失败?检查 JSON 是否合法,JSONPretty 不修复语法错误
JSONPretty 只做美化,不校验也不修正。一旦 JSON 有语法错误(比如末尾多逗号、单引号代替双引号、未闭合括号),它会静默失败——光标不动、无提示、内容不变。
验证方法:用浏览器开发者工具粘贴到 Console 执行 JSON.parse(),或在终端运行 python -m json.tool yourfile.json。只有确认合法后,JSONPretty 才能正常工作。
- 常见陷阱:从网页复制的 JSON 常含 HTML 实体(如
")、BOM 头、注释(//或/* */),这些都会导致解析失败 - 可临时用
Ctrl+H替换掉所有"→",再删注释行 - 如果频繁处理非标 JSON,建议换用
Pretty JSON插件(依赖 Python,支持容忍注释和单引号)
想保留原始缩进风格?JSONPretty 不支持自定义空格数
它固定用 2 个空格缩进,且不提供配置项。如果你的项目强制要求 4 空格或 Tab,这个插件就不适用。
替代方案:安装 Pretty JSON 插件,然后在 Preferences → Package Settings → Pretty JSON → Settings 中修改:
{
"indent": 4,
"ensure_ascii": false
}但要注意:Pretty JSON 依赖系统 Python,Windows 用户若没配好 python 环境变量,会报错 Unable to find python。
-
JSONPretty虽简单,但胜在「改完即用、不报错、不弹窗」 - 真正需要定制缩进的场景其实不多,多数 API 返回或配置文件都接受 2 空格
- 别为了省一次手动替换,去折腾 Python 环境和插件兼容性
实际用多了就会发现,格式化 JSON 最耗时间的环节从来不是按键动作,而是确认内容是否合法、编码是否干净、缩进是否被团队接受——这些没法靠一键解决。










