VSCode中关闭自动换行需将editor.wordWrap设为off,因wordWrap仅视觉折行而不插入换行符;若修改后无效,需检查语言专属设置、扩展覆盖或settings.json重复配置。

VSCode 怎么关掉代码自动换行
默认开启的 wordWrap 是罪魁祸首,它会让长行代码在编辑器里“视觉折行”,看起来像换行了,实际没插入换行符。关掉它就能让代码横向滚动,保持原始结构。
实操建议:
- 快捷键
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置 - 搜
word wrap,找到Editor: Word Wrap这一项 - 把它从
on或wordWrapColumn改成off - 如果用
settings.json手动改,加这一行:"editor.wordWrap": "off"
为什么有时候改了没生效
常见错误现象:改完设置、重启 VSCode,长行还是折行——大概率是被某个扩展或语言专属设置覆盖了。
排查要点:
- 检查当前文件的语言模式(右下角显示,比如
Python、JSON),某些语言扩展会自带editor.wordWrap覆盖项 - 在设置搜索框里输入
@[language] word wrap(例如@python word wrap),看有没有语言级配置在起作用 - 临时禁用扩展(尤其是 Prettier、Beautify、Auto Rename Tag 等格式化类),再测试
-
settings.json里如果有重复的editor.wordWrap,后写的会覆盖前写的,注意删重
要不要用 wordWrap: bounded
这个值是折中方案:只在视口宽度内折行,超出部分仍可横向滚动。但实际用起来容易混淆——你以为没换行,结果复制粘贴时带上了看不见的软换行(尤其在终端里执行命令出错)。
使用场景有限:
- 纯阅读日志、Markdown 表格预览等非代码场景可以考虑
- 写代码、调试、Git diff、终端联动时,一律推荐
off -
bounded在高分屏 + 缩放比例 ≠ 100% 时行为不稳定,不同窗口大小下折行点会跳变
终端里代码也换行?那是另一回事
VSCode 内置终端(Terminal)的换行和编辑器无关,它是 shell 自己的行为。如果你在终端里跑脚本,看到长命令被截断或换行,不是 editor.wordWrap 搞的。
这时候要看:
- 终端宽度是否被设窄了(右键终端 →
Change Terminal Size) - 命令本身有没有
\续行符或引号包裹问题 - 用
cat或less查看文件时,是否启用了-S(不换行)参数
编辑器里代码不换行,只是保证你写的每一行都“干净”;终端怎么显示,得单独调终端和 shell 的行为。


















