VSCode默认关闭自动换行,需设editor.wordWrap为on(按单词折行)或bounded(视口内强制字符截断);生效受全局、语言级设置及插件干扰,调试时应先禁用插件并清理工作区配置。

VSCode 怎么开自动换行(word wrap)
默认情况下 VSCode 是关闭自动换行的,长行会横向滚动,不是折到下一行。要让它像记事本那样“自动换行”,得手动打开 editor.wordWrap 设置。
最直接的方法是按 Ctrl+,(Windows/Linux)或 Cmd+,(macOS)打开设置界面,在搜索框输入 word wrap,找到 Editor: Word Wrap,下拉选 on(强制折行)或 bounded(只在视口宽度内折)。不推荐用 off 或 inherit,后者行为依赖浏览器,不可控。
也可以改 settings.json:加这一行就行:
"editor.wordWrap": "on"
按单词折行 vs 按字符折行的区别在哪
editor.wordWrap 设为 on 时,默认是“按单词”折行——它只在空格、连字符、斜杠等分隔符处断行;而设为 bounded 时,如果某单词超长(比如一长串 base64 或无空格 URL),它会在视口边界处强行按字符截断。
-
on:适合普通代码、Markdown、日志文本,阅读自然,但遇到超长无空格字符串会溢出 -
bounded:能防止单行撑宽整个编辑器,但可能把一个变量名或哈希值从中间劈开,影响可读性 - 没有纯“按字符折行”的开关,
bounded是唯一接近的选项
为什么改了设置没生效?常见失效原因
改完 editor.wordWrap 却还是不折行,大概率是被其他配置覆盖了:
- 检查是否在
settings.json里写了两遍,后写的值会覆盖前写的 - 确认没在工作区(
.vscode/settings.json)或文件夹级设置里设成off - 某些语言扩展(比如 Prettier、EditorConfig 插件)会重置
wordWrap,关掉插件试试 - 极少数情况:当前文件关联了错误的语言模式(比如 .log 文件被识别成
plaintext而非log),导致语言专属设置没加载
想让某类文件默认开启 word wrap,怎么配
VSCode 支持按语言设置,比如希望所有 Markdown 和日志文件默认折行,但在 JS/TS 里保持关闭:
"[markdown]": {
"editor.wordWrap": "on"
},
"[log]": {
"editor.wordWrap": "bounded"
}
注意:[markdown] 这种语法必须写在 settings.json 的顶层对象里,不能嵌套在其他字段下;语言 ID 要准确,比如 JSON 是 [json],不是 [jsonc](后者是带注释的 JSON)。
查语言 ID 的方法:打开对应文件 → 右下角看状态栏 → 点击语言名(如 “Plain Text”)→ 选 “Configure Language Specific Settings…”
自动换行看着简单,但实际生效受全局设置、语言设置、插件干预三层影响,调的时候最好先关插件、清掉工作区配置,再一层层加回来。










