Sublime如何实现一键格式化JSON_Sublime安装PrettyJSON插件
装了 Pretty JSON 插件,满心期待按下 Ctrl+Alt+J,结果毫无反应——这时候先别急着怀疑插件坏了。问题往往出在三个最容易忽略的细节上:语法没切对、快捷键没绑上、或者中文被转成了 \u4f60\u597d 你以为格式化失败。一个一个排查,基本都能搞定。 格式化前必须手动切到 JSON
装了 Pretty JSON 插件,满心期待按下 Ctrl+Alt+J,结果毫无反应——这时候先别急着怀疑插件坏了。问题往往出在三个最容易忽略的细节上:语法没切对、快捷键没绑上、或者中文被转成了 \u4f60\u597d 你以为格式化失败。一个一个排查,基本都能搞定。

格式化前必须手动切到 JSON 语法模式
Sublime 不会自动识别一段文本是不是 JSON。哪怕你粘贴的是 {"name":"张三"},只要右下角显示的是 Plain Text 或 Ja vaScript,Pretty JSON 的命令就不可用。
- 打开文件或新建空文件 → 粘贴 JSON 内容 → 点右下角语言标识(如
Plain Text)→ 选JSON或JSON with Comments - 如果文件后缀是
.json,一般会自动识别;但.txt、.js或无后缀粘贴体,必须手动切 - 切错语法后按
Ctrl+Shift+P搜Pretty JSON,命令列表里压根不会出现
快捷键默认不生效,得自己加绑定
很多人以为安装完就能直接按 Ctrl+Alt+J,其实 Pretty JSON 本身并不自带这个快捷键——那是其他插件(比如 JSON Reindent)的键位,只是个常见的误传。
- 进
Preferences → Key Bindings,在右侧用户键位文件中加一行: {"keys": ["ctrl+alt+j"], "command": "pretty_json_beautify"}- 注意:
command名必须是pretty_json_beautify,不是pretty_json或json_reindent - 保存即生效,不用重启;Mac 用户把
ctrl换成super
中文显示为 \uXXXX?改 ensure_ascii=false
格式化后中文变成 Unicode 转义,看着像乱码——这其实是 Pretty JSON 的默认行为(符合 JSON 标准,但开发中基本不需要)。
- 进
Preferences → Package Settings → Pretty JSON → Settings - 找到
"ensure_ascii"这一项,设为false(布尔值,不是字符串"false") - 如果设置里没有这行,就手动加在顶层
{}里,比如:"ensure_ascii": false - 改完保存,再格式化——中文就原样显示了
选中部分 JSON 格式化?它不智能提取,只处理所选文本
有些场景下,你只想格式化 HTML 文件里的一段 JSON 片段。但插件不会帮你补外层括号或删多余字符——它只能处理完整、合法的 JSON 值。
- 所选内容必须是完整、合法的 JSON 值:对象
{}、数组[]、字符串""、数字等 - 含单引号、尾随逗号、JS 注释、HTML 标签包裹的内容,都会报错或静默失败
- 嵌套结构截断(比如只选了对象里某几个字段)会导致解析失败,别指望它“猜”上下文
- 纯 JSON 文件建议全选
Ctrl+A后再格式化,更稳
最易忽略的其实是语法切换和 ensure_ascii 设置——这两步不做,其他都白搭;而一旦设错 command 名或拼错 ensure_ascii 的值类型,插件就彻底“失声”。照着上面的步骤检查一遍,基本都能让格式化一键生效。


































