最有效解法是先切系统推荐缩放值(如150%)、禁用window.zoomLevel,再加--disable-directwrite回退GDI渲染,配Cascadia Code字体并运行ClearType向导。

先切系统推荐缩放值,别碰 window.zoomLevel 补偿
VSCode 在 4K 屏上模糊,90% 是因为 Windows 系统缩放设成了 110%、133% 这类非整数倍值。ClearType 和子像素渲染只在标有(推荐)的缩放档位(如 150%、200%)下真正生效。
右键桌面 →「显示设置」→「缩放与布局」→ 切到带(推荐)标记的选项。改完必须重启 VSCode —— 不是重载窗口,是彻底关闭再打开。
此时别急着去 settings.json 改 window.zoomLevel。它和系统缩放叠加后会触发二次插值,文字更糊,图标边缘发虚。
- 多显示器时,务必开启「每个显示器单独缩放」,而不是靠
window.zoomLevel硬调 - 如果已用推荐值但仍有模糊,问题不在缩放逻辑,而在渲染链路,往下看
加 --disable-directwrite 回退 GDI 渲染
DirectWrite 在部分 Intel 核显、远程桌面或某些 BIOS 设置下会退化成灰阶抗锯齿,导致文字毛边、边缘晕染。关掉它,回退到 GDI,反而更锐利。
修改 VSCode 快捷方式「目标」栏:在原路径末尾加空格再加 --disable-directwrite。例如:
“C:\Users\Me\AppData\Local\Programs\Microsoft VS Code\Code.exe” --disable-directwrite
不需要加 --disable-gpu,除非你同时遇到滚动卡顿。
- 副作用极小:仅滚动动画略不顺滑,绝大多数人无感
- 别写进
settings.json—— 这是启动参数,配置文件里加无效 - 重启后立刻能感知文字锐利度提升
editor.fontFamily 必须用双引号 + 已安装字体
VSCode 不自带编程字体,只做名字匹配。写 "'Cascadia Code', monospace" 这种带单引号的格式,在 Windows 下会被 Electron 解析失败,直接 fallback 到默认字体,你根本意识不到。
先确认字体已安装:Win + R → 输入 fonts: → 查找 Cascadia Code;没出现就白配。
中文字体必须显式声明回退链:"editor.fontFamily": "Cascadia Code, 'Microsoft YaHei', 'Noto Sans CJK SC', monospace"
- 优先选
Cascadia Code(微软官方出品,hinting 完整),次选JetBrains Mono - 避免
Consolas在非 100% 缩放下使用,hinting 支持差 -
editor.fontSize建议设为16(外接 4K 屏)
别漏掉 ClearType 向导和显卡控制面板
即使缩放和字体都配对了,如果 ClearType 没激活或显卡抗锯齿干扰,字体照样发虚。
开始菜单搜「调整 ClearType 文字」,全程勾选「启用 ClearType」,必须做完五组——跳过会导致子像素渲染未激活。
NVIDIA 用户:NVIDIA 控制面板 →「管理3D设置」→ 关闭「抗锯齿-FXAA」和「多帧采样」
AMD 用户:关闭「形态过滤」「高质量过滤」,以及可能存在的「超级分辨率」
真正容易被忽略的是顺序:必须先切系统推荐缩放,再加 --disable-directwrite,最后调字体和 ClearType —— 少一步,前面都白调。











