全局启用自动换行必须设"editor.wordwrap": "on",字段名大小写敏感(wordwrap非wordwrap),禁用auto(≈off)和inherit(易被覆盖);已开文件需按alt+z刷新,且语言专属设置(如json/markdown)优先级更高,常导致全局配置失效。

全局自动换行必须改 editor.wordWrap,设为 "on" 最稳妥;只改 settings.json 但写错大小写、选了 "auto" 或 "inherit",等于白配。
为什么改了 settings.json 还不生效?
常见原因不是配置没加,而是加错了位置或值:
-
editor.wordwrap(小写 w)是无效字段,VSCode 完全忽略——必须是editor.wordWrap(大写 W) -
"auto"名字有误导性,实际几乎等同于"off",极少触发换行,别用 -
"inherit"会读取父级环境(比如工作区或插件设置),行为不可控,容易被覆盖 - 已打开的文件可能缓存旧渲染状态,改完需手动按一次
Alt + Z(Win/Linux)或Option + Z(macOS)刷新
怎么正确编辑 settings.json 永久启用?
直接加这一行就够了,不需要重启 VSCode:
{
"editor.wordWrap": "on"
}
注意:
- 这个配置加在用户级
settings.json(不是工作区或语言专属配置),路径通常为:%APPDATA%\Code\User\settings.json(Win)、~/Library/Application Support/Code/User/settings.json(macOS)、~/.config/Code/User/settings.json(Linux) - 如果文件里已有
editor.wordWrap,删掉旧行再加新行,避免冲突 - 加完保存,新开文件立即生效;已打开文件建议按快捷键触发一次重绘
为什么 JSON / Markdown / log 文件还是不换行?
因为这些类型常被 language-specific 设置覆盖。VSCode 对 .json、.md、.log 等默认关掉换行,优先级高于全局配置。
验证方式:
- 打开一个不换行的
.json文件 → 看右下角语言标签(如 “JSON”)→ 点击它 → 选 “Configure 'JSON' language based settings” - 检查是否出现
"editor.wordWrap": "off"—— 如果有,删掉或改成"on" - 更省事的做法:在用户
settings.json里统一补上语言专属块(可选):"[json]": { "editor.wordWrap": "on" }, "[markdown]": { "editor.wordWrap": "on" }
长 base64、URL、minified JS 仍挤成一行怎么办?
"on" 模式只在空格、斜杠、连字符等自然断点处折行;无分隔符超长串不会切。这不是 bug,是浏览器文本渲染限制。
临时解法:
- 对单个文件,用
"bounded"模式 + 小列数,例如:"editor.wordWrap": "bounded", "editor.wordWrapColumn": 40
- 长期方案:这类内容本就不该靠编辑器视觉折行来阅读——用专门解析工具(如 base64 解码插件、JSON Viewer)更可靠
真正容易被忽略的是:language-specific 设置的覆盖优先级,远高于你以为的“改了全局就万事大吉”。每次遇到某类文件不换行,先点右下角语言标签查配置,比反复改 settings.json 有效得多。











