VSCode设"editor.wordWrap": "on"却无效,首要排查language-specific覆盖(如JSON/XML默认设为"off"),其次确认wrappingStrategy为"advanced"、wrappingIndent设为"indent",并避免使用已弃用的"bounded"或语法错误导致配置静默失效。

editor.wordWrap设为"on"却没反应,先查 language-specific 覆盖
全局设了"editor.wordWrap": "on"但打开 JSON 或 XML 文件还是不换行,大概率是语言专属配置在暗中覆盖。VSCode 默认对.json、.xml、.log等文件类型显式设为"off",优先级高于用户级设置。
- 打开命令面板(
Ctrl+Shift+P),运行Preferences: Configure Language Specific Settings...,选json或xml - 在弹出的 JSON 片段里加:
"editor.wordWrap": "wordWrapColumn",同时补上"editor.wordWrapColumn": 120 - 别只写
"on"——它依赖窗口宽度,在窄屏或分屏时易失效;"wordWrapColumn"才是稳定可控的模式
VSCode v1.88+ 更新后自动关闭换行,必须显式声明 editor.wrappingStrategy
v1.88 起,VSCode 对未明确定义的换行策略更“保守”,哪怕你旧配置里有 "editor.wordWrap": "on",只要迁移过程触发 workspaceStorage 重建,就会回退到内置默认 "off"。这不是 Bug,是行为变更。
- 仅设
"editor.wordWrap": "wordWrapColumn"不够,还必须加:"editor.wrappingStrategy": "advanced" -
"simple"只按空格断行,对 URL、base64、XML 属性串完全无效;"advanced"才支持中文、连字符、无空格长串的字符级软折 - 检查是否误用了已弃用的
"bounded"——v1.85+ 会静默转为"off",日志里不会报错,但效果归零
换行后缩进错位、第二行顶到左边,加 editor.wrappingIndent
开了换行但链式调用或嵌套注释看起来割裂,是因为默认折行不继承缩进。这不是渲染错误,是设计如此:第二行直接从行首开始,破坏视觉层级。
- 加这一项:
"editor.wrappingIndent": "indent" - 它会让折行后的子行自动对齐上一行的缩进位置,对齐效果自然
- 注意:
"editor.lineHeight"过小(比如设成1)会导致折行后行间距挤压,看着像“挤在一起”,建议保持0(自动)或 ≥1.2
settings.json 语法或键名错误导致整个配置失效
一个逗号错位、引号漏写、或用了废弃键名,就可能让 editor.wordWrap 等设置完全不加载——VSCode 不会单独报错,只会静默忽略整块配置。
- 路径类值必须加双引号,例如:
"python.defaultInterpreterPath": "/usr/bin/python3",漏引号即解析失败 - 确认没混入 JSON 注释(
//),VSCode 默认不支持,除非你启用了 JSONC 模式 - 工作区配置(
.vscode/settings.json)和用户配置冲突时,前者优先级更高,删掉工作区里重复或矛盾的editor.*条目再试
editor.wordWrap 形同虚设。


















