vscode中json文件默认不换行是因禁用editor.wordwrap,属设计选择而非bug;可按alt+z(win/linux)或option+z(macos)即时开启软换行,或在语言特定设置中配置"[json]": {"editor.wordwrap": "on"}实现永久生效。

VSCode写JSON文件报错,90%不是语法真错了,而是你根本没看清它长什么样——默认不换行导致括号、逗号、引号全挤在一行里,肉眼根本没法定位问题。
为什么JSON文件打开就是一整行长串?
VSCode 默认对 json 语言模式禁用软换行(editor.wordWrap),哪怕窗口只有 400px 宽,它也坚持把整个对象塞进一行,只给个水平滚动条。这不是 bug,是设计:防止换行干扰 JSONPath 定位(比如 $.data.items[0].name)和格式化器解析逻辑。
但代价是你得拖着滚动条找第 37 个逗号,或者把鼠标悬停在波浪线下才看到 Unexpected token ','——而错误其实在上一行末尾多打了一个逗号。
- 右下角状态栏显示
JSON,但内容横向溢出 → 是wordWrap被关了 - 显示
Plain Text或JSONC→ 格式化和校验直接失效,先切语言模式 - 按
Alt+Z(Win/Linux)或Option+Z(macOS)没反应 → 光标不在编辑区,或被语言专属设置覆盖
怎么立刻让JSON换行显示(不改配置)
不用开设置、不重启、不装插件,当前文件立刻可读:
- 确保光标在 JSON 文件的代码区域(不是终端、不是搜索框)
- 按
Alt+Z(Windows/Linux)或Option+Z(macOS) - 右下角会实时显示“换行”或“不换行”,松手即生效
这个操作只影响当前编辑器视图,不改任何配置,适合临时排查压缩 JSON、长 base64 字段或嵌套过深的响应体。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
怎么让所有JSON文件默认换行(永久生效)
全局设置最稳,避免被工作区或插件覆盖:
- 按
Ctrl+,(Win/Linux)或Cmd+,(macOS)打开设置 - 搜
word wrap,找到Editor: Word Wrap - 选
on(别选auto或inherit,它们实际等于关)
如果仍不生效,检查右下角语言标识 → 点击 → Configure 'JSON' language based settings → 确保里面没有 "editor.wordWrap": "off" 这行。有就删掉,VSCode 语言专属设置优先级高于全局。
换行后格式化还乱?注意格式化器和语言模式冲突
开了换行只是“看得清”,不代表“结构对”。常见陷阱:
- 语言模式是
JSONC(支持注释),但你粘贴的是标准 JSON → 校验不报错,但Shift+Alt+F可能静默失败 - 装了 Prettier,且没禁用它处理 JSON:
"prettier.disableLanguages": ["json"]必须加 - 格式化后引号变单引号、缩进变 2 空格 → 检查
[json]下是否误设了editor.defaultFormatter为 Prettier - 想格式化 JS 文件里的 JSON 字符串?选中那段文本 →
Ctrl+Shift+P→Format Selection,前提是它本身是合法 JSON(不能含变量、未转义换行)
真正关键的一步常被跳过:按 Ctrl+Shift+P → 输入 Change Language Mode → 明确选 JSON,再格式化。VSCode 不会替你猜你写的到底是不是 JSON。










