安装pretty json插件后没反应,首要检查package control是否装好及python环境是否可用;若命令面板调不出或install package无响应,则插件未正确安装,需重装package control并重启sublime。

安装 Pretty JSON 插件后没反应?检查 Package Control 和 Python 环境
Sublime Text 本身不带 JSON 格式化能力,Pretty JSON 是第三方插件,依赖 Package Control 安装。如果按快捷键没反应,大概率是插件根本没装成功,或者 Sublime 找不到 Python 解释器。
- 确认已通过
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)调出命令面板,输入Install Package并回车,再搜Pretty JSON安装 —— 不是手动下载 zip 放进Packages/目录(容易漏依赖) - Sublime Text 4 默认自带 Python 3.8+ 运行时,但如果你用的是旧版(如 ST3),需确保系统 PATH 中有可用的
python或python3命令;否则插件会静默失败,控制台(Ctrl+`)里会出现No module named json或Python executable not found - 安装后重启 Sublime Text,再试一次 —— 插件不会热加载所有功能
JSON 格式化失败报错 Invalid JSON string?先检查编码和 BOM
这个错误不是语法问题,而是 Sublime Text 读取文件时解码失败。常见于 Windows 下用记事本保存的 JSON 文件,自带 UTF-8 with BOM 头,Pretty JSON 的底层解析器(json.loads())无法容忍 BOM。
- 打开文件,点击右下角编码显示(如
UTF-8),选Convert to UTF-8(不是 “Save with Encoding”)—— 这会剥离 BOM 并重载内容 - 如果文件里混有非 ASCII 字符(比如中文注释或字段值),且声明了
"encoding": "gbk"类伪配置,删掉。JSON 标准只认 UTF-8 - 粘贴进 Sublime 的 JSON 片段如果开头有不可见字符(比如从网页复制带零宽空格),用
Ctrl+Shift+P→View: Show Console,输入view.substr(sublime.Region(0, 10))查看前 10 字符的原始码位
想自定义缩进空格数或排序 key?改用户配置,别碰默认设置
Pretty JSON 的格式化行为由 PrettyJson.sublime-settings 控制,但直接改默认文件(Packages/Pretty JSON/PrettyJson.sublime-settings)会被插件更新覆盖。必须改用户级配置。
- 菜单栏 →
Preferences → Package Settings → Pretty JSON → Settings,右侧用户配置里加:
{
"indent": 2,
"sort_keys": true,
"ensure_ascii": false
}
"indent" 支持数字(空格数)或字符串(如 "\t");"sort_keys" 默认 false,设为 true 后会按字典序重排 object key,适合 diff 对比"ensure_ascii": false 是关键:不转义中文等 Unicode 字符,否则 "名称": "张三" 会变成 "\u540d\u79f0": "\u5f20\u4e09"
对大 JSON 文件卡死或崩溃?用命令行替代 + 分块处理
Pretty JSON 在 Sublime 内运行,内存受限。超过 5MB 的 JSON(比如导出的 MongoDB 数据、日志快照),插件会卡住甚至触发 Sublime 的无响应弹窗。
- 终端里用原生工具更快更稳:
python -m json.tool input.json > output.json(Python 自带,支持--indent 2参数) - 若需排序 key 或保留注释(虽然 JSON 标准不支持),改用
jq:jq '.' input.json > output.json,它还能过滤、提取字段 - 真要在 Sublime 里处理大文件,先用
Ctrl+Shift+P→Selection: Expand Selection to Brackets选中某一段 object/array,再执行格式化,避免全文件解析
json5 或 yaml 转换。











