设为1.0会导致descender与下一行ascender紧贴而重叠,推荐1.2起,需关闭所有终端页签后新建才生效;它与editor.lineHeight无关,且依赖fontFamily回退链和gpuAcceleration设置。

terminal.integrated.lineHeight 设为 1.0 就会挤
VSCode 终端默认的 terminal.integrated.lineHeight 是 1.0,它不是像素值,而是行高倍数——意味着字符基线间距等于字体自身高度,没有额外留白。在多数等宽字体(如 Fira Code、JetBrains Mono)下,这会导致 descender(比如 g、y、p 的下延部分)紧贴下一行 ascender(如 b、d、h 的上延),视觉上就是“字叠在一起”或“光标悬空”。
- 设为
1.0是安全下限,低于它(如0.9)必然加剧重叠 - 推荐从
1.2起步,macOS Retina 屏或高 DPI 显示器可试1.35 - 值必须是小数(支持
1.2、1.35),不能写成"1.2px"或整数24,否则无效 - 改完必须关闭所有终端页签再新建一个(
Ctrl+Shift+`),仅重启 shell 不生效
editor.lineHeight 和 terminal.integrated.lineHeight 完全无关
很多人以为调了编辑器的 editor.lineHeight(比如设成 24),终端就会跟着变——不会。终端用的是独立渲染管线,terminal.integrated.lineHeight 才是它的控制开关,且它不接受像素值,只认倍数。
-
editor.lineHeight:单位是像素,只影响代码编辑区,对终端零作用 -
terminal.integrated.lineHeight:单位是倍数(相对字体大小),只影响集成终端 - 两者必须分别配置,漏掉任何一个都会导致“一半清晰、一半糊”
- 如果你同时开了 Remote-SSH 或 WSL,这个配置仍生效,因为终端渲染发生在本地 VSCode 进程中
terminal.integrated.gpuAcceleration = off 能立刻止住重叠抖动
某些 Windows + Intel 核显 + 混合缩放组合下,GPU 加速会让字符光栅化错位,表现为按住键时字母堆叠、松开才“弹开”。这不是行高问题,而是渲染层同步失败。
- 在 settings.json 中加:
"terminal.integrated.gpuAcceleration": "off" - 必须关闭所有已打开终端页签(不只是当前标签),再新开一个才生效
- 副作用是滚动略钝,但比重叠和光标错位更可控
- 该设置不影响编辑器 UI 的 GPU 渲染,只管终端子进程
fontFamily 回退链缺失会让 terminal.integrated.lineHeight 失效
如果 terminal.integrated.fontFamily 只写了 "Fira Code",而系统没装这个字体,VSCode 会 fallback 到系统默认非等宽字体(如 macOS 的 .SFNSDisplay),此时无论 lineHeight 设多少,宽度计算都错乱,光标偏移、字母重叠、退格错位全来。
- 正确写法是显式声明回退链:
"terminal.integrated.fontFamily": "Fira Code, 'JetBrains Mono', 'Cascadia Code', monospace" - 字体名含空格必须用单引号包裹,否则解析失败
-
monospace是保底项,不可省略 - 远程开发(WSL/Remote-SSH)时,这个配置只控制本地渲染,远程系统无需安装这些字体


















