sublime text 本身不支持 json 美化,必须依赖 pretty json 插件;st4 中该插件已从 package control 下架,需手动从 github 下载 zip 并放入 packages 目录安装,重启后通过命令面板或快捷键调用格式化功能。

Sublime Text 本身不支持 JSON 美化,所谓“一键美化”必须靠插件;目前最稳定可用的是 Pretty JSON,但它在 ST4 中已从 Package Control 下架,直接搜不到不是你操作错了,而是得手动装。
Package Control 搜不到 Pretty JSON 怎么办
ST4 用户按 Ctrl+Shift+P → 输入 Package Control: Install Package → 搜索 Pretty JSON 无结果,是正常现象。原作者已停止维护,官方源已移除。
- 别再反复重试,浪费时间
- 改用 GitHub 手动安装:访问
https://github.com/dzhibas/SublimePrettyJson,点击Code → Download ZIP - 解压后重命名文件夹为
Pretty JSON(注意空格和大小写) - 放入 Packages 目录:
Windows:%APPDATA%\Sublime Text\Packages\
macOS:~/Library/Application Support/Sublime Text/Packages/
Linux:~/.config/sublime-text/Packages/ - 重启 Sublime Text,再按
Ctrl+Shift+P搜Pretty JSON: Format JSON验证
Pretty JSON 格式化后中文变 \u4f60\u597d
这是插件默认开启 ensure_ascii=true 导致的,符合 JSON 标准但不可读。改配置就行,不改就永远乱码。
- 打开
Preferences → Package Settings → Pretty JSON → Settings - 在右侧用户设置里加这两行(注意逗号):
{ "ensure_ascii": false, "indent": 2 } - 保存后重试格式化,中文字段值立刻正常显示
- 这个设置只影响
Pretty JSON,不影响其他插件或 Sublime 自身编码
快捷键 Ctrl+Alt+J 按了没反应
最常见原因根本不是插件坏了,而是文件没被识别为 JSON——哪怕后缀是 .json,Sublime 也不会自动切语法模式。
- 看右下角状态栏,如果显示
Plain Text或JavaScript,点它 → 选JSON或JSON with Comments - 快捷键被占:输入法、终端模拟器(如 Terminus)、甚至系统级热键都可能截获
Ctrl+Alt+J,可临时换用命令面板调用 - 想自定义快捷键?打开
Preferences → Key Bindings,加这条:[{"keys": ["ctrl+alt+f"], "command": "pretty_json"}] - ST3 用户若手动安装,记得进
Pretty JSON文件夹执行git checkout st3,否则命令注册失败
格式化报错 ValueError: Expecting property name enclosed in double quotes
这不是插件 bug,是你给的文本根本不是合法 JSON。Pretty JSON 默认严格校验 RFC 7159,单引号、尾逗号、注释全不认。
- 检查是否用了单引号:
{'name': 'Alice'}❌ → 必须双引号:{"name": "Alice"}✅ - 删掉对象末尾逗号:
{"a": 1,}❌ →{"a": 1}✅ - 注释(
//或/* */)必须全部清空,JSON 标准不支持 - 如果真要处理带注释的配置(比如 VS Code 的
settings.json),先用在线工具清理,或换JsPrettier+prettier
真正卡住人的从来不是“怎么装”,而是装完发现不生效——问题大概率出在语法模式、编码设置、或 JSON 本身就不合法。盯住右下角状态栏、控制台报错、以及用户设置里的 ensure_ascii 这三处,90% 的情况当场就能解。











