VSCode补全框遮挡代码的根本原因是editor.lineHeight被手动调大导致建议框锚点下移,修复方法是将editor.suggestLineHeight设为20或22,若仍重叠则将editor.lineHeight设回0(自动计算);换行模式推荐"auto"而非"on",避免强制拆分影响阅读。

为什么自动换行开启后补全框会遮住代码
根本原因是编辑器行高(editor.lineHeight)被手动调大,而补全建议框(suggest widget)的垂直位置是按“行数 × 行高”计算的。一旦行高变大,补全框的顶部锚点会下移,但它的高度没同步缩放,结果就卡在中间、挡住下方代码。
怎么快速修复补全框遮挡问题
不改行高也能解决,优先调整补全框自身尺寸:
- 打开设置(
Ctrl + ,),搜索Suggest Line Height - 把值从默认的
0改成20或22(不要超过你当前的editor.lineHeight) - 如果仍重叠,再检查
editor.lineHeight是否被设为非零固定值——设回0(自动计算)最稳妥
自动换行模式选 on 还是 auto 更合适
auto 是默认且推荐的选项,它只在编辑器宽度不足以显示整行时才换行;而 on 会强制所有行都换,容易让本该连贯的表达式(比如链式调用、长数组字面量)被拆开,反而干扰阅读。
- 日常开发用
"editor.wordWrap": "auto"就够了 - 只有明确需要“永远不横向滚动”(如看日志、查 SQL)才切到
on - 若团队有列宽规范(如 120 字符),改用
bounded+editor.wordWrapColumn更可控
补全框和换行同时出问题,大概率是配置冲突
很多人在调格式时顺手改了多个相关项,结果互相打架。典型冲突组合:
-
editor.lineHeight≠0且editor.suggest.lineHeight未显式设置 -
editor.wordWrap设为on,又开了editor.minimap.enabled,导致渲染错位 - 装了
Bracket Pair Colorizer或Error Lens类插件,叠加换行后 DOM 布局溢出
真遇到多问题并发,先关插件、清缓存(Developer: Reload Window)、还原 lineHeight 和 wordWrap 到默认值,再逐个开回来验证。











