vscode默认不换行是设计行为,必须设editor.wordwrap为"on"或"bounded"才生效;alt+z/option+z可临时切换当前文件换行,右下角实时显示状态;全局启用需在settings.json中添加"editor.wordwrap": "on",但language-specific设置(如json)可能覆盖,需单独配置;缩进错位则需加"editor.wrappingindent": "indent"修复。

editor.wordWrap 必须设为 "on" 或 "bounded",否则长代码行永远不换行——这不是 bug,是 VS Code 默认行为。
按 Alt+Z / Option+Z 临时切换当前文件换行状态
最快速验证方式:光标聚焦在编辑器内(不能在终端、搜索框或侧边栏),按 Alt+Z(Windows/Linux)或 Option+Z(macOS)。右下角状态栏立刻显示“换行”或“不换行”,效果即时生效,且不改任何配置。
适用场景包括:快速查看 JSON 响应体、读日志、核对 Markdown 表格、临时比对链式调用结构。关掉标签页后设置即失效,完全无副作用。
全局启用自动换行:改 settings.json 最可靠
图形界面容易被语言专属设置覆盖,直接改配置更稳:
- 快捷键
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Open Settings (JSON)回车 - 添加或修改这一行:
"editor.wordWrap": "on" - 保存后立即生效,所有新打开的文件都按编辑器宽度自动折行
注意:"auto" 实际几乎不触发,"inherit" 容易被插件或工作区配置覆盖,不推荐。
为什么改了全局设置,某些文件(如 JSON、Markdown)还是不换行?
VS Code 对特定语言有更高优先级的 language-specific 设置,会直接覆盖全局配置。
排查步骤:
- 打开不换行的文件(比如
response.json) - 看右下角语言标识(如
JSON),点击它 → 选Configure 'JSON' language based settings - 检查弹出的 settings 片段里是否有
"editor.wordWrap": "off" - 删掉这行,或显式改成
"editor.wordWrap": "on"
也可统一在用户 settings.json 中加语言规则,例如:"[json]": {"editor.wordWrap": "on"}
换行后缩进错位、视觉混乱怎么办?
默认换行把折行内容顶到行首,破坏代码层级感。加这一行就能修复:
"editor.wrappingIndent": "indent"
它会让折行部分继承上一行的缩进,保持对齐。配合 "editor.wordWrap": "bounded" 和 "editor.wordWrapColumn": 120 使用效果更佳——既避免小屏挤成一团,又防止大屏下单行过长。
真正容易被忽略的是 language-specific 设置覆盖和 wrappingIndent 缺失这两点,多数人只改了全局 wordWrap 就以为万事大吉。











