必须装插件且设文件语法为json才能格式化;未装package control、插件未生效或语法非json均导致ctrl+shift+p搜不到命令;推荐jsonpretty(快)或html-css-js prettify(稳),注意校验json合法性及快捷键绑定规范。

能格式化,但必须装插件,且文件语法得设为 JSON —— 否则按烂快捷键也没反应。
为什么 Ctrl+Shift+P 搜不到 JSON 格式化命令?
不是快捷键错了,是前提没满足:
- 没装
Package Control:这是所有插件的入口,没它就等于没钥匙。按Ctrl+Shift+P输入Install Package Control,如果没这个选项,就得去官网复制 Python 脚本,粘进View → Show Console执行 - 插件没装或没生效:装完
HTML-CSS-JS Prettify或JSONPretty后,必须重启 Sublime Text(尤其 ST4 早期版本) - 文件语法不是
JSON:右下角显示的是Plain Text或JavaScript?点它,手动切到JSON。否则json_pretty_print、pretty_json这类命令压根不注册
该装哪个插件?看你是要“快”还是“稳”
别堆插件,选一个就够用:
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- 要最快上手、不依赖外部环境:
JSONPretty—— 纯 Sublime 原生实现,装完即用,快捷键默认Ctrl+Shift+H(macOS 是Cmd+Shift+H),不调 Node.js、不查 Python 版本 - 要带校验、报错、甚至自动修复:
HTML-CSS-JS Prettify—— 底层用js-beautify,支持on_save自动格式化,但得进设置里确认"json": true已启用 - 别碰
SublimePrettyJson:它依赖 Python 2.7,ST4 默认用 Python 3.8+,一启用就报ImportError: No module named 'sublime'
格式化后内容没变,甚至变空白?先查 JSON 合法性
几乎所有“静默失败”都指向同一个问题:JSON 本身有错,但插件不提示、不报错、也不改——它只美化,不纠错。
- 常见非法写法:
'key': 'value'(单引号)、末尾多逗号{"a":1,}、未闭合的括号、字符串里漏转义"path:C:\temp" - 验证方法:把内容粘进浏览器控制台执行
JSON.parse(…);或终端运行python -m json.tool yourfile.json - 特别注意
Pretty JSON插件:默认会把中文转成\u4f60\u597d,看着像乱码。进Preferences → Package Settings → Pretty JSON → Settings,把"ensure_ascii"设为false
快捷键冲突或不生效?直接绑定 command 名称
别猜,查准命令名再绑定:
-
JSONPretty对应命令是json_pretty_print -
Pretty JSON对应命令是pretty_json -
JSON Reindent对应命令是json_reindent - 打开
Preferences → Key Bindings,在右侧用户文件里加一行,比如:[ {"keys": ["ctrl+alt+j"], "command": "json_pretty_print"} ]注意:键名必须小写、下划线,不能拼成JsonPrettyPrint或pretty-json
最易被忽略的一点:格式化操作对“选中范围”极其敏感。全选再按快捷键,和只选中间一段,结果可能完全不同——尤其当 JSON 嵌套深、字段值含换行或特殊字符时,边界截断会导致解析失败,而你根本看不出哪里不对。










