vscode默认不换行,必须显式设置editor.wordwrap为"on"(推荐)、"wordwrapcolumn"或"bounded"才生效;按编辑器宽度折行用"on",自定义列数需配合"wordwrapcolumn"模式及editor.wordwrapcolumn值,且语言级设置优先级更高,可能覆盖全局配置。

VSCode 默认不换行,粘贴长代码后出现横向滚动条是正常行为,不是配置错误或插件冲突——必须显式启用 editor.wordWrap 才能触发视觉折行。
按编辑器宽度自动折行(最常用)
适合日常粘贴 JSON、URL、链式调用、日志片段等场景,窗口缩放时折行点实时调整,无需维护列数。
-
editor.wordWrap必须设为"on",不能是"auto"或"inherit"——前者几乎不生效,后者依赖未定义的父级配置 - 快捷键
Alt+Z(Windows/Linux)或Option+Z(macOS)可即时切换当前文件,但只对焦点在编辑器主区域时有效 - 若按了没反应,先确认光标是否在终端、搜索框或侧边栏;再看右下角语言标识(如
JSON),点击它进 language-specific 设置,检查是否被覆盖为"off"
粘贴后仍溢出?可能是单词边界限制
"on" 模式按空格、/、- 等符号软折行,遇到无分隔符长串(如 base64、哈希值、超长变量名)会直接溢出并保留滚动条。
- 想彻底消灭滚动条,改用
"bounded"模式,并配editor.wordWrapColumn(如120) -
"bounded"强制字符级截断,哪怕劈开一个eyJhbGciOi...字符串,但可读性下降 - 避免只设
editor.wordWrapColumn而不改editor.wordWrap——单独设该值无效,必须搭配"wordWrapColumn"或"bounded"模式
折行后缩进错位、视觉割裂
默认折行后第二行顶到行首,破坏嵌套结构(如对象属性、缩进块),看起来像“断开了”。
- 加配置
"editor.wrappingIndent": "indent",让子行继承上一行缩进层级 - 别用
"same"(默认值),它会让第二行和第一行首字符对齐,反而更乱 - 该设置不影响实际内容,只改变渲染对齐方式,对 Python 缩进敏感场景尤其有用
language-specific 设置优先级最高
哪怕用户 settings.json 里写了 "editor.wordWrap": "on",打开 .json 或 .md 文件仍可能不换行——因为 VSCode 默认为这些语言注入了独立配置。
- 验证方法:打开不换行的文件 → 点右下角语言名(如
JSON)→ 选 “Configure 'JSON' language settings” → 查是否有"editor.wordWrap": "off" - 修复方式:删掉该语言专属设置,或明确设为
"on";也可批量加到 settings.json:"[json]": { "editor.wordWrap": "on" }, "[markdown]": { "editor.wordWrap": "on" } - 注意
jsonc(带注释的 JSON)是独立语言 ID,需单独配置
真正容易被忽略的是:换行只是渲染层效果,Git、格式化工具、复制粘贴、终端输出都看不到折行——它只解决“眼睛看不过来”的问题,不解决“代码写太长”的根本问题。如果团队有行长规范,还得靠 Prettier 或 ESLint 配合 max-len 规则硬约束。











