解决 VSCode 的自动换行问题
VSCode 的 Markdown 自动换行看似简单,中文字体一上场就开始装死。问题根源是 `simple` 策略计算失准,改用 `advanced`,再配合 `wordWrap: on`,终于不用拖横向滚动条欣赏长句了。
目录4 个章节
前言
进入 AI 编程时代后,我的主力 IDE 已经换成了 VSCode 了,特别最近全部开发环境都切换到远程开发,就更加依赖 VSCode 的功能。
在 VSCode 里经常会遇到编辑 markdown 的场景,但是默认情况下,就算开启自动换行,VSCode 的 markdown 还是还超出编辑器范围几列才会自动换行。
我研究了半天,结合 ChatGPT 帮忙排查,最终才解决。
本文简单记录一下。
结论
先说结论。
VS Code 一个已有的 wrapping 问题:默认的 editor.wrappingStrategy 是 simple,对 中文/CJK、非标准字符宽度、某些等宽中文字体 可能计算不准。
对应的 issue: monospaced Chinese fonts 下 simple 模式自动换行位置错误
解决方法就是把 editor.wrappingStrategy 切换到 advanced
完整的配置是这样的,直接把这一段加入 user settings json 里就行
"[markdown]": {
"diffEditor.ignoreTrimWhitespace": true,
"editor.scrollBeyondLastColumn": 0, // 允许编辑器在最后一列之外,再额外横向滚动 N 列。
"editor.minimap.enabled": false,
"editor.wrappingStrategy": "advanced", // 默认的 editor.wrappingStrategy 是 simple,对 中文/CJK、非标准字符宽度、某些等宽中文字体 可能计算不准。VS Code 甚至有一个几乎完全对应的 issue:“monospaced Chinese fonts 下 simple 模式自动换行位置错误”,切换到 advanced 后换行位置正常
"editor.wordWrap": "on", // 一直开启换行
},
我这里同时还把 minimap 关掉,避免遮挡右侧的文本。
实现效果截图:

折腾过程
一开始我是在设置界面里开启 word wrap 和设置了 word wrap column,
但是 markdown 的一行仍然太长,经常要拖动横向滚动条,非常影响体验。

这时候尝试的配置是:
"[markdown]": {
"editor.wordWrap": "bounded",
"editor.wordWrapColumn": 80,
"editor.wrappingIndent": "same"
}
用 bounded 而不是 on ,它的逻辑是:
- 编辑器窗口不足 80 列 → 按窗口宽度自动折行
- 编辑器窗口很宽 → 最多显示到 80 列就折行
- 因此 Markdown 不会出现“一句话横跨整个 4K 屏幕”的情况
- 正常文本基本不再需要横向滚动
但是这时候还是不行,80 columns 还是太大了,改成 70 才有点效果。
而且因为中文字体判定的问题,实际换行的位置和编辑器宽度不一致。
而且这也不是我要的效果,我要的是缩小这个编辑器宽度时,跟着宽度自动wrap,而不是固定一个值。
这个功能要设置 "editor.wordWrap": "on" 才会生效。
折腾了之后还是不行,在大模型爷爷的帮助下,才找到之前那个 GitHub issue,最终才解决😂
附录:VSCode的设置覆盖优先级
VSCode 有四层配置
| 设置 | 作用范围 | 典型用途 |
|---|---|---|
| 默认设置 | VS Code / 扩展自带默认值 | 只拿来查看,通常不修改 |
| 用户设置 | VS Code 全局配置 | 字体、主题、编辑习惯等 |
远程设置 SSH: hostname | 只在连接这台远程机时生效 | Linux shell、远端工具链、特殊编辑设置 |
| 工作区设置 | 当前项目 | 项目专用 formatter、lint、语言配置等 |
优先级从高到低是:Workspace > Remote > User > Default
_EOF_
解决 VSCode 的自动换行问题
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
从 WebStorm 转到 VSCode!使用一周体验报告
JetBrains 开源门槛提高?被迫转 VSCode,体验槽点满满:路径识别弱,自动引入加错后缀,标签不自动关闭,控制面板还无法折叠。轻量响应快,但细节反人类,免费还要啥自行车?
2024-01-28 · IDE · 约 1 分钟
是谁 2026 年还在用 Sublime Text 写代码?
Sublime Text 十几年了还这么流畅?C++ 原生驱动才是真香,默认设置都能用十年?瞎折腾一下发现真香? Adaptive 主题自动调色就挺好看,LSP 插件能当 VSCode 用?这年头还有人用 Sublime?
2026-03-18 · IDE · 约 1 分钟
Zed AI 白嫖免费模型,搭配 DeepSeek v4,玩转 Agent 编程技巧
Zed AI功能够用但不算顶尖,自由度高轻量灵活,比主流工具舒服些。配置ACP协议和外部agent效果还行,但稳定性一般。白嫖DeepSeek、智谱等模型免费额度可行,但配置稍繁琐,Zed Agent虽开放但插件生态不足,Git Graph这类常用插件缺失令人头疼。
2026-04-28 · IDE · 约 1 分钟
修改Cursor侧边栏位置,改成和VSCode一样的风格
Cursor把侧边栏图标放顶部?既不能快速折叠,插件图标还塞不下,纯属为差异化而差异化。改回VSCode熟悉的竖排侧边栏,配置文件加一行的事,原作者至于在那儿批判半天吗?
2026-09-28 · IDE · 约 1 分钟
讨论
共 0 条加载评论中…