设为off可立刻缓解重叠,因gpu加速与字体光栅化不同步导致;需关闭所有终端页签再新开才生效,影响终端渲染层而非编辑器ui。

terminal.integrated.gpuAcceleration 设为 off 能立刻缓解重叠
字体重叠最常由 GPU 加速与字体光栅化不同步导致,尤其在 Windows + Intel 核显 + 混合缩放组合下。VSCode 默认启用 terminal.integrated.gpuAcceleration,但 Electron 的 GPU 渲染路径在部分场景会把字符像素挤在一起,松开按键才“弹开”。
直接在设置里搜 gpuAcceleration,把值从 auto 改成 off;改完必须关闭所有终端页签再新开——不是重启 shell,也不是只关当前标签,否则缓存会让问题照旧出现。
- 该选项影响的是终端进程自身的渲染层,和编辑器 UI 的 GPU 设置无关
- 设为
off后,CPU 渲染更稳定,但高刷屏上滚动可能略钝,属可接受折中 - 若你用 Remote-SSH 或 WSL,这个配置仍生效,因为终端渲染发生在本地 VSCode 进程中
terminal.integrated.lineHeight 必须大于 1.0
很多人以为重叠是字体问题,其实只是行高太小,让上下行字符视觉粘连。默认值是 1.0,意味着字符紧贴排列,稍有渲染偏差就重叠。
把 terminal.integrated.lineHeight 设为 1.2 或 1.35,能立刻拉开字符垂直间距,同时不破坏等宽对齐。这不是“调大字号”,而是给每行留出呼吸空间。
- 值低于
1.0(如0.9)会加剧重叠,绝对不要试 -
1.2是跨平台安全值;macOS Retina 屏可尝试1.3避免下划线压住下一行 - 该参数和字体族无关,哪怕你还在用
Consolas,加了它也能见效
fontFamily 必须显式声明等宽字体+monospace 回退
只写 "Fira Code" 不够,系统找不到时会 fallback 到非等宽字体(比如 macOS 的 .SFNSDisplay),直接导致光标错位、字母重叠。
正确写法是用逗号分隔的字体族列表,并以 monospace 收尾:
"terminal.integrated.fontFamily": "Fira Code, JetBrains Mono, 'Cascadia Code', monospace"
- 字体名含空格必须加单引号,否则解析失败
- 顺序即匹配优先级:前面的失效才用后面的,
monospace是保底项 - 远程开发(Remote-SSH/WSL)时,这个配置只控制本地渲染,远程系统无需装这些字体
改完 settings.json 后不重启终端 = 白改
VSCode 终端是独立子进程,启动后就固化了字体、行高、GPU 设置。改完 settings.json 或 UI 设置,只点「重载窗口」或「重启 shell」都不管用。
必须手动关闭所有已打开的终端页签(Ctrl+Shift+P → Terminal: Kill Terminal),再重新打开一个新终端(Ctrl+Shift+`)。
- 这是最常被跳过的步骤,也是 70% 用户反馈“配置没用”的真正原因
- 如果用了 WSL,顺便检查远程 shell 的
$TERM是否为xterm-256color,否则光标移动指令可能被忽略 - 字体文件本身必须已安装到本地系统,VSCode 不会帮你下载或嵌入字体











