如何用Sublime Text一键美化JSON数据,安装PrettyJSON插件实现格式化?

2026-04-29 02:293阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计922个文字,预计阅读时间需要4分钟。

如何用Sublime Text一键美化JSON数据,安装PrettyJSON插件实现格式化?

Sublime Text 本身不支持一键美化 JSON,需要安装插件;安装了 Pretty JSON 后不代表就能用——它默认没有快捷键、不自动识别中文、遇到+BOM或单引号就静默失败,这些才是你按 Ctrl+Alt+J 没有反应的真实原因。

为什么 Pretty JSON 装完还是不能格式化?

不是插件坏了,是三个关键状态没对齐:

  • 右下角语法模式必须是 JSON(不是 Plain TextJavaScriptJSON with Comments)——点一下右下角语言名手动切过去
  • 文件编码必须是 UTF-8,不能是 UTF-8 with BOM:菜单栏 File → Reopen with Encoding → UTF-8,再确认右下角显示“UTF-8”
  • Pretty JSON 默认不绑定快捷键,Ctrl+Alt+J 是用户常配的,不是插件自带的——得自己加进 Preferences → Key Bindings

怎么配出真正能用的 Ctrl+Alt+J

别复制网上残缺配置,直接在用户键位文件里加这一行(右侧面板):

[{"keys": ["ctrl+alt+j"], "command": "pretty_json"}]

注意:command 名字必须是 pretty_json,大小写和下划线都不能错;如果已存在冲突绑定(比如被其他插件占用了),这条会覆盖它。

生效前务必检查:

  • 是否重启过 Sublime?插件安装后首次启用必须重启
  • 是否只在 .json 文件或已切为 JSON 语法的窗口里测试?在 JS 文件里按这个键不会触发
  • 是否全选了内容?Pretty JSON 对未选中内容默认不操作,不像 html_css_js_prettify 那样自动作用于全文

中文变 \u4f60\u597d 怎么办?

这是 Pretty JSON 的默认行为,不是乱码,是它把中文转义成 Unicode 字符串了。解决方法很简单:

打开 Preferences → Package Settings → Pretty JSON → Settings,把这行加进去(或改成 false):

"ensure_ascii": false

保存后重试。别写成 "ensure_ascii": "false"——字符串值无效,必须是布尔值 false

另外注意:Pretty JSON 不修复语法错误。如果粘贴的是带单引号、尾逗号或注释的 JSON(比如从浏览器控制台直接复制的),它会直接报错或输出空白——先用在线工具校验,或者换用 html_css_js_prettify

格式化后缩进忽大忽小、混着 Tab?

这不是插件问题,是 Sublime 自身缩进设置和插件打架:

  • 执行 View → Indentation → Convert Indentation to Spaces,把所有 Tab 强制转为空格
  • 再点 Indent Using Spaces,设缩进宽度为 2
  • 打开 Pretty JSON 设置,确保没有 "detect_indentation": true ——这行会覆盖你手动设的空格数,导致缩进飘忽

真正容易被忽略的是:一旦你用 Pretty JSON 格式化过一次,它就会记住这次的缩进风格,并在下次尝试复用——哪怕你已经改了全局设置。所以第一次配完,务必手动全选 + Ctrl+Alt+J 触发一次,让它“认领”你当前的空格配置。

标签:SublimeJSJson

本文共计922个文字,预计阅读时间需要4分钟。

如何用Sublime Text一键美化JSON数据,安装PrettyJSON插件实现格式化?

Sublime Text 本身不支持一键美化 JSON,需要安装插件;安装了 Pretty JSON 后不代表就能用——它默认没有快捷键、不自动识别中文、遇到+BOM或单引号就静默失败,这些才是你按 Ctrl+Alt+J 没有反应的真实原因。

为什么 Pretty JSON 装完还是不能格式化?

不是插件坏了,是三个关键状态没对齐:

  • 右下角语法模式必须是 JSON(不是 Plain TextJavaScriptJSON with Comments)——点一下右下角语言名手动切过去
  • 文件编码必须是 UTF-8,不能是 UTF-8 with BOM:菜单栏 File → Reopen with Encoding → UTF-8,再确认右下角显示“UTF-8”
  • Pretty JSON 默认不绑定快捷键,Ctrl+Alt+J 是用户常配的,不是插件自带的——得自己加进 Preferences → Key Bindings

怎么配出真正能用的 Ctrl+Alt+J

别复制网上残缺配置,直接在用户键位文件里加这一行(右侧面板):

[{"keys": ["ctrl+alt+j"], "command": "pretty_json"}]

注意:command 名字必须是 pretty_json,大小写和下划线都不能错;如果已存在冲突绑定(比如被其他插件占用了),这条会覆盖它。

生效前务必检查:

  • 是否重启过 Sublime?插件安装后首次启用必须重启
  • 是否只在 .json 文件或已切为 JSON 语法的窗口里测试?在 JS 文件里按这个键不会触发
  • 是否全选了内容?Pretty JSON 对未选中内容默认不操作,不像 html_css_js_prettify 那样自动作用于全文

中文变 \u4f60\u597d 怎么办?

这是 Pretty JSON 的默认行为,不是乱码,是它把中文转义成 Unicode 字符串了。解决方法很简单:

打开 Preferences → Package Settings → Pretty JSON → Settings,把这行加进去(或改成 false):

"ensure_ascii": false

保存后重试。别写成 "ensure_ascii": "false"——字符串值无效,必须是布尔值 false

另外注意:Pretty JSON 不修复语法错误。如果粘贴的是带单引号、尾逗号或注释的 JSON(比如从浏览器控制台直接复制的),它会直接报错或输出空白——先用在线工具校验,或者换用 html_css_js_prettify

格式化后缩进忽大忽小、混着 Tab?

这不是插件问题,是 Sublime 自身缩进设置和插件打架:

  • 执行 View → Indentation → Convert Indentation to Spaces,把所有 Tab 强制转为空格
  • 再点 Indent Using Spaces,设缩进宽度为 2
  • 打开 Pretty JSON 设置,确保没有 "detect_indentation": true ——这行会覆盖你手动设的空格数,导致缩进飘忽

真正容易被忽略的是:一旦你用 Pretty JSON 格式化过一次,它就会记住这次的缩进风格,并在下次尝试复用——哪怕你已经改了全局设置。所以第一次配完,务必手动全选 + Ctrl+Alt+J 触发一次,让它“认领”你当前的空格配置。

标签:SublimeJSJson