必须设整数像素值,如24、26;小数会被截断或导致中文渲染不可控;等宽字体推荐22~24,nerd fonts或字号≥16时用26~28;连字开启会破坏行高计算,终端和文件树需单独配置。

editor.lineHeight设成小数还是整数?
必须设整数像素值,比如 24、26,别用 1.5 或 22.5。VSCode 会把小数截断为整数(22.5 → 22),而 1.5 这类倍数虽能生效,但中文字符高度受 fallback 字体影响极大,结果不可控。等宽字体(Fira Code、JetBrains Mono)下,22~24 是最稳的起手值;若用了 Nerd Fonts 或字号 ≥16,建议直接上 26~28,否则「下」「出」这类带 descender 的字会贴到下一行。
为什么改了 editor.lineHeight 没反应?
常见失效原因不是配置写错,而是被其他层覆盖或干扰:
-
editor.fontLigatures: true必须关掉——连字开启时,Fira Code 等字体的基线渲染偏移,直接破坏行高计算 - 当前主题在
package.json里写了"editor.lineHeight": 0,你得在用户settings.json顶层显式重写才能压过它 - 工作区设置(
.vscode/settings.json)优先级高于用户设置,检查有没有冲突值 - 值写成字符串
"24"或漏掉editor.前缀,VSCode 会静默忽略
终端和文件树行距怎么同步调?
editor.lineHeight 只管编辑器主区域,终端和文件树完全不认它:
- 终端行距用
terminal.integrated.lineHeight,只接受小数(如1.2),填24无效;改完要点垃圾桶图标杀掉当前终端,再按Ctrl+`重开 - 文件树缩进靠
workbench.tree.indent(单位像素),默认8太紧,中文路径建议设18~20;同时关掉explorer.compactFolders,否则缩进会被压缩抵消
只给 Markdown 或 JSON 加宽松行距
语言专属设置优先级高于全局,适合长文本阅读场景:
- 在
settings.json里加"[markdown]": { "editor.lineHeight": 30 },不影响代码区 - 同理可配
"[json]": { "editor.lineHeight": 26 },避免大对象嵌套时括号糊在一起 - 别试图用 CSS 覆盖——通过
Developer: Inspect Editor Tokens改样式表每次更新都可能失效
editor.fontLigatures 又设了 editor.lineHeight,或者终端用了中文字体 fallback 却只调了编辑器行高。











