能一键格式化JSON的前提是Package Control已装好、插件已装、文件语法识别为JSON、编码为UTF-8(不含BOM),缺一不可;推荐Pretty JSON或HTML-CSS-JS Prettify,需手动绑定Ctrl+Alt+J快捷键并限定context为source.json,避免误触发。

能一键格式化 JSON 的前提是:Package Control 已装好、插件已装、文件语法识别为 JSON、编码是 UTF-8(不含 BOM)。缺一不可,否则 Ctrl+Alt+J 或其他快捷键压根不会响应。
确认 Package Control 和插件是否真就绪
不是“点了安装”就算完事——90% 的失败源于这三步没走完:
- 按
Ctrl+Shift+P(macOS 是Cmd+Shift+P)输入Install Package Control,能搜到才说明已装;搜不到就得去官网复制 Python 脚本,粘进View → Show Console执行,再重启 Sublime Text - 重启后,再按
Ctrl+Shift+P输入Install Package,搜Pretty JSON或HTML-CSS-JS Prettify并安装 - 打开一个 .json 文件,看右下角状态栏是否显示
JSON—— 如果是Plain Text或JavaScript,点它手动切过去;否则命令面板里根本不会出现 JSON 相关命令
选哪个插件?别用 JsFormat 或 JSBeautify
它们把 JSON 当 JS 处理,会悄悄改数据:
-
JsFormat把{"a":1}变成{"a": 1,}(多加尾随逗号),后端解析直接报错 -
JSBeautify把字符串里的"path\file"变成"pathile"(反斜杠被吃掉),路径失效 -
Pretty JSON和HTML-CSS-JS Prettify(启用"json": true)才是专为 JSON 设计的:校验语法、提示错误行号、保留原始转义、不乱加逗号
快捷键无效?查这三处硬性条件
不是插件坏了,是环境没对齐:
- 右下角编码必须是
UTF-8,不能是UTF-8 with BOM—— BOM 会让解析器静默失败,连错误都不弹 - 文件内容必须合法:不能有单引号、末尾逗号、注释、未闭合引号;
Pretty JSON会弹窗报错,HTML-CSS-JS Prettify可自动修复部分问题(如补双引号),但前提是你开了"json": true - 快捷键冲突常见:
Ctrl+Shift+H被输入法或终端插件占了,Ctrl+Shift+J是 Sublime 默认的“切换折叠”;推荐统一绑定为Ctrl+Alt+J,并在 key bindings 里加 context:{"key":"selector","operator":"equal","operand":"source.json"},避免在 JS 文件里误触发
怎么让格式化真正“一键”?绑定专属快捷键
别依赖插件默认键位,自己配一条干净、安全、只对 JSON 生效的:
[{"keys": ["ctrl+alt+j"],"command":"html_css_js_prettify","args": {"type":"json"},"context": [{"key":"selector","operator":"equal","operand":"source.json"}]}]
或者用 Pretty JSON:
[{"keys": ["ctrl+alt+j"],"command":"pretty_json","args": {"action":"beautify"}}]
注意:command 名必须拼写准确,html_css_js_prettify 和 pretty_json 不可互换;args 里不传 type 或传错值,命令就退化成 JS 格式化,风险极高。
最常被忽略的是:BOM 编码 + 语法模式没切到 JSON + 快捷键没加 context。这三个点卡住,再好的插件也等于没装。











