WebStorm 默认支持 JSON 格式化,无需插件或 File Watcher,但需确保文件被识别为 JSON 类型、未禁用格式化开关,且正确配置“Escape non-ASCII characters”等关键选项以避免中文转义等问题。

WebStorm 默认就能格式化 JSON,不需要装插件、也不用配 File Watcher——但前提是它得“认出这是 JSON”,且你没误关关键开关。
JSON 文件没被识别为 JSON 类型
常见现象:打开 .json 文件,右下角显示的是 Plain Text 或 JavaScript,按 Ctrl+Alt+L 没反应,或格式化后缩进错乱、引号被转义。
- 进
Settings > Editor > File Types,找到JSON类型,在Registered Patterns里确认有*.json - 如果文件扩展名是
.config.json或.schema.json,手动加进去(比如*.config.json) - 若误把
*.json划给了JavaScript类型,删掉它——JSON 和 JS 是两套解析逻辑,混用会导致高亮错、格式化失效
格式化后中文被转成 \uXXXX
这是 WebStorm 把 JSON 当作“纯 ASCII 输出”处理了,本质是编码策略问题,不是格式化工具本身的问题。
- 默认格式化行为由 IDE 内置 JSON formatter 控制,不走 Prettier 或 js-beautify
- 它会遵守
Settings > Editor > Code Style > JSON中的Escape non-ASCII characters设置 - 取消勾选该项,再执行
Ctrl+Alt+L,中文键名和字符串就能原样保留 - 注意:这个设置只影响 IDE 内格式化,不影响
json_encode()等运行时行为
Prettier 对 JSON 文件无效?检查配置链路
很多人以为装了 Prettier 就能自动美化所有文件,但 WebStorm 对 JSON 的 Prettier 支持是“有条件启用”的。
-
Prettier配置页(Settings > Languages & Frameworks > JavaScript > Prettier)中必须勾选Enable Prettier for JSON files -
.prettierrc.json里要显式支持 JSON:加上"parser": "json"字段,否则 Prettier 可能 fallback 到 JS parser 导致报错 - 如果用了
prettier.config.js,确保导出对象里包含overrides规则,例如:{"overrides": [{"files": "*.json", "options": {"parser": "json"}}]} - WebStorm 2024.3+ 版本才完整支持 JSON override,旧版本即使配了也可能静默忽略
想一键展开/折叠所有 JSON 节点?别依赖格式化
格式化(Ctrl+Alt+L)只管空格换行,不管折叠状态。节点的展开/折叠是编辑器的“代码折叠(Folding)”功能,独立于格式化流程。
- 按
Ctrl+Shift+NumPad +展开全部,Ctrl+Shift+NumPad -折叠全部 - 右键 JSON 编辑区 →
Folding > Expand All或Collapse All - 折叠规则由
Settings > Editor > General > Code Folding控制,确保JSON objects和JSON arrays已勾选 - 注意:某些深度嵌套的 JSON(如超过 10 层)可能被 IDE 自动限制折叠,这不是 bug,是性能保护
真正容易被忽略的点是:JSON 格式化效果是否生效,不能只看“有没有缩进”,而要看“中文是否被转义”“布尔值是否变成小写 true/false”“尾部逗号是否被保留”——这些细节背后是解析器类型、配置优先级、甚至 WebStorm 版本能力边界共同作用的结果。


















