terminal.integrated.lineHeight必须设为小数倍数(如1.2),填像素值(如24)无效;修改后需关闭并重开终端才生效,且须配合正确字体和禁用GPU加速协同优化。

terminal.integrated.lineHeight 填了像素值却没反应
很多人在 settings.json 里写 "terminal.integrated.lineHeight": 24,以为能直接控制行高像素,结果重启终端后日志还是挤成一团——这根本不会生效。terminal.integrated.lineHeight 只接受小数倍数(如 1.2、1.25),它表示相对于字体大小的缩放比例,不是像素单位。填整数 1 或 2 虽然语法合法,但 1 在多数编程字体下垂直空间严重不足;2 又会导致空行过多。
-
1.2:通用稳妥值,中文日志、JSON 格式化文本基本不粘连 -
1.25:适合 4K/Retina 屏或系统缩放 ≥125% 的场景 - 绝对避免
1.0或0.9,尤其用了 Nerd Font 后,descender(如 g、p、q)会被裁进下一行,造成错排
改完设置后终端看起来“没变化”
terminal.integrated.lineHeight 修改后,VSCode 终端不会热更新——它是独立进程,配置变更只对新启动的实例生效。哪怕你执行了 Developer: Reload Window,已打开的终端页签仍沿用旧渲染参数。
- 正确操作只有两步:点击终端右上角垃圾桶图标(或
Ctrl+Shift+P→ 输入Terminal: Kill the Active Terminal Instance),再按Ctrl+`新开一个 - 如果杀掉后新开仍无效,大概率是
terminal.integrated.fontFamily没配对,或 GPU 加速干扰了渲染层
字体没装对,lineHeight 白调
行距表现严重依赖字体本身的度量信息。如果 terminal.integrated.fontFamily 没显式声明、fallback 顺序混乱,或字体根本没装到系统,VSCode 就会 fallback 到系统默认等宽字体(比如 Ubuntu 的 monospace),这类字体往往不校准 Unicode 全角宽度,导致字符上下错位、日志列对不齐。
- Windows/macOS:必须去官网下载
Fira Code或Cascadia Code的.ttf文件,右键“为所有用户安装”(macOS 双击安装,别只拖进用户 Fonts 目录) - Linux:把字体放进
~/.local/share/fonts/,运行fc-cache -fv,再用fc-list | grep -i "fira\|cascadia"确认 - 配置示例:
"terminal.integrated.fontFamily": "'Fira Code', 'Cascadia Code', monospace"——中文混排时,逗号前的字体优先,别把"PingFang SC"放前面
Intel 核显 + Windows 混合缩放下文字重叠
VSCode 终端文字重叠、打字瞬间字母挤在一起,八成是 GPU 加速和字体光栅化不同步导致的。尤其在 Windows + Intel 核显 + 混合缩放(比如 125% 或 150% DPI)场景下,terminal.integrated.gpuAcceleration 默认值 "auto" 会触发渲染错位。
- 直接关掉它最有效:打开设置(
Ctrl + ,),搜gpuAcceleration,把terminal.integrated.gpuAcceleration改成"off" - 必须关闭所有终端页签,再新开一个——改完不重启终端,等于没改
- 这不是性能妥协,而是绕过 Electron 在特定硬件组合下的已知渲染缺陷。关掉后,文字清晰度、光标定位、退格响应都会立刻变稳
fontFamily、lineHeight、gpuAcceleration 和远端 $TERM 四者之间的耦合。哪怕只漏掉一个环节,比如 WSL 里 $TERM 还是 screen,本地调得再细也白搭。


















