PrettyJSON插件在Sublime Text 4中无法通过Package Control安装,需手动下载GitHub源码放入Packages目录;格式化报错因输入非标准JSON(如单引号、尾逗号、注释),须修正语法;快捷键冲突可自定义Key Bindings;中文乱码或缩进异常需设UTF-8编码和空格缩进。

安装 PrettyJSON 插件报错 Package Control: There is no package named 'PrettyJSON'
Sublime Text 4 已移除对旧版 PrettyJSON 的官方支持,原作者停止维护,Package Control 中已下架。直接搜不到,不是你操作错了。
- 别再尝试
Package Control: Install Package→ 搜PrettyJSON,这条路走不通 - 替代方案是手动安装:从 GitHub 下载源码,放到
Packages目录(Preferences → Browse Packages…) - 注意路径层级:解压后应为
Packages/PrettyJSON/pretty_json.py,不能多套一层文件夹 - 重启 Sublime 后按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Pretty JSON: Format测试是否生效
格式化时提示 ValueError: Expecting property name enclosed in double quotes
这是 JSON 语法校验失败的典型报错,PrettyJSON 默认严格遵循 RFC 7159,不接受单引号、尾逗号、注释等常见“伪 JSON”写法。
- 检查是否混用了单引号:
{'name': 'Alice'}❌ → 必须改成双引号:{"name": "Alice"}✅ - 删掉对象或数组末尾的逗号:
{"a": 1,}❌ →{"a": 1}✅ - 注释(
//或/* */)必须全部删除,JSON 标准不支持 - 如果确实需要处理带注释的配置(如 VS Code 的
settings.json),建议先用在线工具清理,或换用支持宽松模式的插件(如JsPrettier配合prettier)
快捷键 Ctrl+Alt+J 不起作用
这个快捷键在 Sublime Text 4 中常被系统或其他插件劫持,尤其 Windows 上容易和输入法切换冲突。
- 打开
Preferences → Key Bindings,左侧是默认键位,右侧是用户自定义键位;把以下内容粘贴到右侧(用户键位文件):
[
{ "keys": ["ctrl+alt+j"], "command": "pretty_json", "args": {"operation": "prettify"} }
]
Emmet 或 SideBarEnhancements)Ctrl+Alt+J 在部分键盘布局下实际触发的是 Ctrl+Option+J,可改用 Cmd+Ctrl+J 避免歧义格式化后中文变乱码或缩进异常
本质是文件编码或制表符设置不匹配导致的显示问题,不是插件 bug。
- 确认文件编码为
UTF-8:右下角状态栏点击编码名 → 选Convert to UTF-8(不是Reopen with Encoding) - 检查缩进设置:
View → Indentation → Convert Indentation to Spaces,并设为 2 或 4 个空格(PrettyJSON默认用空格缩进) - 如果 JSON 原本含大量 \uXXXX 转义字符,
PrettyJSON不会自动还原中文,这是预期行为;如需可读中文,得先用 Python 或 Node.js 脚本 decode 后再格式化
复杂点在于:它不处理“类 JSON”,只认标准 JSON;而真实开发中,你拿到的往往不是标准 JSON。这点容易被忽略——不是插件不行,是输入没达标。










