必须用bounded模式并配editor.wordwrapcolumn:on模式依赖宿主报告的视口宽度,窄屏高缩放时易误判导致溢出;bounded取视口宽与列数较小值兜底,推荐设为60并全局覆盖json/log等类型。

窄屏下不换行,不是设置没生效,而是默认模式选错了——必须用 bounded 模式,且要配 editor.wordWrapColumn。
为什么“on”模式在窄屏上依然溢出?
VSCode 的 on 模式按编辑器视口宽度折行,但移动端浏览器或远程桌面缩放后,VSCode 渲染层可能把“视口宽度”算得偏大(比如误读为 1024px),导致实际显示仍横向滚动。这不是 bug,是渲染链路中 DPI/缩放因子未被正确映射的结果。
-
on:依赖浏览器/宿主窗口报告的宽度,窄屏+高缩放时不可靠 -
auto:几乎等于off,别用 -
bounded:主动取视口宽度和editor.wordWrapColumn的较小值,强制兜底
如何配出真正窄屏友好的换行?
只改 editor.wordWrap 不够,必须组合设置:
- 设
"editor.wordWrap": "bounded" - 同时设
"editor.wordWrapColumn": 60(60 是窄屏安全值,比 80 更稳妥) - 别依赖 language-specific 设置——移动端常打开 .json/.log/.md 文件,这些类型默认关换行,需统一覆盖
示例 settings.json 片段:
{
"editor.wordWrap": "bounded",
"editor.wordWrapColumn": 60,
"[json]": { "editor.wordWrap": "bounded" },
"[log]": { "editor.wordWrap": "bounded" }
}
移动端真机调试时还挤成一长条?检查这三点
常见失效场景不是配置错,而是环境干扰:
- 焦点不在编辑器区域:手机端触控易误点侧边栏或终端,
Alt+Z不生效;先点一下代码区再试 - 插件注入了 language-specific 覆盖:比如 Prettier 或 REST Client 插件会悄悄加
"[http]": { "editor.wordWrap": "off" },去settings.json搜索wordWrap确认无冲突 - base64 / URL / minified JS 这类无空格长串:VSCode 折行依赖空白符断点,它们天然不折;此时唯一可靠方案是手动插入
\u200B(零宽空格)或用正则替换(.{60})→$1\u200B
真正窄屏可用的换行,从来不是“开了自动换行就完事”,而是 bounded + 小列数 + 全语言覆盖 —— 少一个环节,移动端就可能退回水平滚动。











