WebStorm JSON校验需手动启用Schema:勾选JSON schema validation;vue.config.js非JSON不适用;jsconfig.json需手动填Schema URL;tsconfig.json仅校验compilerOptions字段;格式化中文转义需关闭Escape non-ASCII;Prettier格式化JSON需同时满足启用、安装包、配置parser三条件。

JSON文件不报错?先确认是否启用Schema校验
WebStorm默认只做基础语法检查(比如括号配对、引号闭合),tsconfig.json里写错"jsx"为"jxs",或"moduleResolution": "nod"这种拼写错误,根本不会标红——因为没绑定官方 Schema。
必须手动开启校验开关:Settings > Editor > Inspections > JSON > JSON schema validation → 勾选。否则所有字段级校验都失效。
- Vue 项目中的
vue.config.js不是 JSON 文件,它是 JS 模块,WebStorm 不走 JSON Schema 校验;想获得类型提示,得靠@vue/cli-service的类型定义,不是靠 JSON 配置 -
jsconfig.jsonWebStorm 不自带 Schema,需手动填 URL:https://json.schemastore.org/jsconfig.json -
tsconfig.json只要项目装了typescript包,WebStorm 就能自动匹配官方 Schema,但仅校验compilerOptions下的字段;像"types": ["vue"]这类扩展字段不会报错,属于合法行为
格式化 JSON 时中文变 \uXXXX?关掉这个选项
按 Ctrl+Alt+L(Windows/Linux)或 Cmd+Option+L(macOS)后中文键名/字符串被转义成 Unicode,不是 Prettier 或编码问题,而是 WebStorm 内置 JSON formatter 的默认策略。
解决方法很简单:Settings > Editor > Code Style > JSON → 取消勾选 Escape non-ASCII characters。
- 这个设置只影响 IDE 内的格式化行为,不影响运行时
JSON.stringify()输出 - 如果用了 Prettier,该选项无效——Prettier 自己控制是否转义,但前提是它真正在处理 JSON 文件(见下一条)
- 状态栏显示类型不是
JSON(比如是Plain Text),右键文件 →Override File Type→ 选JSON
Prettier 格式化 JSON 失效?检查三个硬性条件
Prettier 对 JSON 的支持不是“装了就生效”,2024.3 之前版本甚至会静默跳过,必须同时满足:
-
Settings > Languages & Frameworks > JavaScript > Prettier中勾选Enable Prettier for JSON files - 项目中有
prettier包:npm install --save-dev prettier(推荐本地安装) -
.prettierrc.json或prettier.config.js显式声明解析器:
– 若用 JSON 配置:{"parser": "json"}
– 若用 JS 配置:{"overrides": [{"files":"*.json","options":{"parser":"json"}}]}
低版本 WebStorm(如 2023.x)即使配了也可能 fallback 到内置 formatter,升级到 2024.3+ 更稳妥。
批量格式化 JSON 文件?别只右键文件夹
右键文件夹 → Reformat Code 看似直接,但实际受两个硬限制:
- 只对标记为
Sources Root的目录生效(右键目录 →Mark Directory as > Sources Root) - 若文件扩展名非常规(如
.config.json、.schema.json),需先到Settings > Editor > File Types > JSON的Registered Patterns里添加对应 pattern - 快捷键
Ctrl+Alt+L默认只作用于当前打开文件;想批量处理,先用Ctrl+Shift+R打开“Replace in Path”,或终端执行npx prettier --write "**/*.json"
真正稳定可控的方式,还是靠脚本:"format:json": "prettier --write \"**/*.json\"" 放进 package.json,新人拉完代码直接 npm run format:json。











