VSCode 修改行高需设置整数型 editor.lineHeight(如26),写入 settings.json 顶层,不加单位;默认0为自动但偏紧凑,调大可提升可读性,修改后保存即生效。

VSCode 怎么改行高(lineHeight)
VSCode 里控制代码行间距的配置项是 editor.lineHeight,它直接决定每行文字的垂直高度(单位是像素),不是 CSS 的相对值,也不受字体大小缩放影响。设成 0 表示自动计算(默认行为),但这个“自动”往往偏紧凑,多数人需要手动调大。
-
editor.lineHeight必须是整数,比如24、28,小数无效 - 实际视觉行高 ≈
editor.fontSize× 1.2 ~ 1.4(默认自动模式),所以如果字号是14,默认行高大概在17–19左右,容易挤 - 修改后无需重启,保存设置即生效,但已打开的编辑器标签页可能要手动滚动一下才刷新渲染
在 settings.json 里怎么写才不报错
直接编辑 settings.json 是最稳妥的方式,避免 GUI 设置里漏掉或覆盖。关键点是:必须写在顶层 JSON 对象里,不能嵌套错位置;值不能加单位(比如不能写 "24px");别和 editor.fontLigatures 这类布尔值混在一起写错逗号。
- 正确写法:
{ "editor.lineHeight": 26 } - 错误写法:
"editor.lineHeight": "26"(字符串类型,VSCode 会忽略)、"editor.lineHeight": 26.5(非整数)、"lineHeight": 26(缺editor.前缀) - 如果同时想调字体大小,建议一起配:
{ "editor.fontSize": 15, "editor.lineHeight": 26 },否则字号变大但行高没跟上,反而更糊
为什么改了没反应?常见干扰项
VSCode 的行高会被其他设置或插件覆盖,尤其是主题、终端、或某些 UI 增强插件。最常被忽略的是 editor.cursorWidth 或 editor.cursorStyle 虽然不影响行高,但视觉上会让行距“看起来”不对。
- 检查是否启用了
workbench.fontAliasing,设为"auto"或"default"时,抗锯齿可能让行间灰度过渡模糊,误以为间距小 - 某些主题(如
Nord、One Dark Pro)会通过editor.tokenColorCustomizations暗中调整行内元素高度,优先排查主题设置 - 终端(Terminal)的行高由
terminal.integrated.lineHeight控制,和编辑器无关,别混淆这两个配置项
macOS / Windows / Linux 下有区别吗
没有本质区别。editor.lineHeight 是 VSCode 渲染层统一处理的,和系统字体渲染引擎无关。但 macOS 上由于 Core Text 的 subpixel rendering 特性,同样数值下视觉行距可能比 Windows 略显宽松;Linux(尤其 Wayland + GTK)偶尔会出现行高计算偏移,这时可尝试把 editor.lineHeight 提高 1–2 像素补偿。
- 跨平台项目协作时,建议把
editor.lineHeight写进工作区.vscode/settings.json,避免队友各自调参导致预览不一致 - 别依赖
em或rem这类 CSS 单位——VSCode 不解析它们 - 如果用 Remote-SSH,确保远程 VSCode Server 版本 ≥ 1.80,老版本对自定义行高的支持不稳定
25 就停了,其实 27 在 14pt 字号下经常更舒服——只是没人愿意多点一次保存。


















