必须手动设editor.wordWrap为"on"或"bounded"才生效,否则默认不换行;不生效主因是language-specific设置(如JSON、Markdown默认"off")优先级更高,需在对应语言配置中显式覆盖,并可加"editor.wrappingIndent": "indent"修复缩进错乱。

必须手动设 editor.wordWrap 为 "on" 或 "bounded",否则永远不换行——这不是 bug,是 VS Code 的默认设计。
为什么改了设置还是不换行?language-specific 设置在偷偷覆盖
全局设了 "editor.wordWrap": "on",但打开 response.json 或 README.md 仍不换行,大概率是语言专属配置在起作用。VS Code 对 json、markdown、log 等类型默认关掉了换行。
- 打开那个不换行的文件,看右下角语言标识(比如 “JSON”),点击它 → 选 “Configure 'JSON' language based settings”
- 检查弹出的 settings 片段里是否有
"editor.wordWrap": "off"—— 删掉这行,或显式改成"on" - 更省事的写法是在用户
settings.json里加语言规则:"[json]": {"editor.wordWrap": "on"}
editor.wordWrap 的四个值到底怎么选
选错值会导致快捷键失效、换行位置诡异,甚至缩进错位:
-
"off":永远不换行,只能拖水平滚动条 -
"on":强制换行,无视编辑器宽度,可能切在单词中间(适合纯文本,慎用于代码) -
"auto":默认值,但实际几乎不触发换行,尤其在宽屏下;Alt+Z 只在"auto"和"off"间切换,设成"on"后快捷键就失灵了 -
"bounded":按视口宽度和editor.wordWrapColumn中较小者换行,需额外配"editor.wordWrapColumn": 120
换行后缩进乱了?加 editor.wrappingIndent 对齐
软折行后第二行顶到行首,嵌套结构瞬间割裂,尤其是 JSON 或多层对象字面量:
- 在
settings.json里加这一行:"editor.wrappingIndent": "indent" - 它会让折行后的子行继承上一行的缩进层级,视觉连贯性明显提升
- 注意:这只影响显示,不修改真实内容,Git diff、复制粘贴、保存都完全不受影响
超长无空格串(如 base64、minified JS)还是不折?这不是配置问题
VS Code 按空格、斜杠、连字符等自然断点折行;遇到连续无分隔符字符串,浏览器渲染层限制导致无法智能断开:
- 这不是
editor.wordWrap配置没生效,而是底层限制 - 强行解决可试
"editor.wordWrap": "wordWrapColumn"+ 极小的editor.wordWrapColumn(如 40),但会破坏可读性 - 真正容易被忽略的是:language-specific 设置的优先级远高于全局配置,哪怕你设了
"on",点开一个 JSON 文件它照样能不换行——得单独去它的语言配置里确认


















