信息发布→ 登录 注册 退出

sublime如何一键格式化JSON文件?(高效技巧)

发布时间:2026-01-09

点击量:
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_jsonjson_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 最耗时间的环节从来不是按键动作,而是确认内容是否合法、编码是否干净、缩进是否被团队接受——这些没法靠一键解决。

标签:# javascript  # python  # java  # html  # sublime  # js  # json  # windows  # 编码  # 浏览器  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!