Sublime怎么一键美化JSON数据 Sublime安装PrettyJSON格式化【干货】
Sublime Text 默认不支持一键美化 JSON 数据,想实现这个功能必须装插件。但装上 Pretty JSON 不代表万事大吉——它默认没配快捷键、不自动处理中文、遇到 BOM 头或单引号就直接装死。你按 Ctrl+Alt+J 没反应,九成九是这几个地方没对齐。 为什么装完还是不能格式化?
Sublime Text 默认不支持一键美化 JSON 数据,想实现这个功能必须装插件。但装上 Pretty JSON 不代表万事大吉——它默认没配快捷键、不自动处理中文、遇到 BOM 头或单引号就直接装死。你按 Ctrl+Alt+J 没反应,九成九是这几个地方没对齐。
为什么装完还是不能格式化?
别怀疑插件坏了,其实是三个关键状态没对上号:
- 右下角语法模式必须切到
JSON——不是 Plain Text、不是 Ja vaScript、也不是 JSON with Comments。右下角语言名字点一下,手动切过去。 - 文件编码得是
UTF-8,不能带 BOM:菜单里走一遍File → Reopen with Encoding → UTF-8,然后确认右下角显示的是“UTF-8”而不是带 BOM 的版本。 - Pretty JSON 默认根本没绑定快捷键。你听说的 Ctrl+Alt+J 是社区里约定俗成的配置,得自己去
Preferences → Key Bindings里手动加。
怎么配出真正能用的 Ctrl+Alt+J?
网上那些残缺配置就不用复制了。直接在用户键位文件右侧面板里加这一行:
[{"keys": ["ctrl+alt+j"], "command": "pretty_json"}]
注意:command 名字必须是 pretty_json,大小写和下划线一个都不能错。如果这组快捷键被其他插件占用了,这条配置会直接覆盖它。
生效前再检查几个细节:
- Sublime 重启过没?插件装完得重启才能启用
- 是在 .json 文件或者切了 JSON 语法的窗口里测试的吗?在 JS 文件里按快捷键是没反应的
- 内容全选了吗?Pretty JSON 跟 html_css_js_prettify 不一样,它不会自动作用于全文
中文变成 \u4f60\u597d 怎么办?
这不是乱码,是 Pretty JSON 的默认行为——它把中文转义成 Unicode 字符串了。解决方法很简单:
进入 Preferences → Package Settings → Pretty JSON → Settings,加这一行(或者把已有的改成 false):
"ensure_ascii": false
保存后再试一次。千万别写成 "ensure_ascii": "false"——这里是布尔值,不是字符串。
另外说一句:Pretty JSON 不会帮你修复语法错误。如果粘贴的是带单引号、尾逗号或者注释的 JSON(比如直接从浏览器控制台复制出来的),它会直接报错或者输出空白。遇到这种情况,先用在线工具校验,或者换 html_css_js_prettify 试试。
格式化后缩进忽大忽小、混着 Tab?
这锅甩不到插件头上,是 Sublime 自己的缩进设置跟插件掐起来了:
- 先走一遍
View → Indentation → Convert Indentation to Spaces,把所有的 Tab 强制转成空格 - 然后点
Indent Using Spaces,把缩进宽度设为 2 - 打开 Pretty JSON 的设置,检查有没有
"detect_indentation": true——有的话删掉,不然它会覆盖你已经调好的空格数
最容易忽略的一点:Pretty JSON 一旦格式化过某次内容,就会记住这次的缩进风格,下次尝试复用这个配置——哪怕你已经改了全局设置。所以第一次配完,务必全选内容后按 Ctrl+Alt+J 触发一次,让它“认领”你当前的空格配置。


































