光标细且模糊是因高DPI下渲染路径错误,需三步联动修复:关闭GPU加速、启用DirectWrite、调整主题caret不透明度与纯色;多屏混合DPI时须统一缩放比例,并彻底重启Sublime Text进程。

光标太细不是字体问题,是渲染路径没对上
Sublime Text 默认用 GDI 绘制光标,在高 DPI 下缺乏 subpixel 定位补偿,结果就是竖线边缘模糊、宽度不均,甚至被拉成 2 像素灰带。你调 font_size 或换字体完全没用——光标样式不走文本渲染管线,它由 UI 主题的 caret 规则控制。
必须同时关 GPU 渲染 + 开 DirectWrite + 改主题 caret 配置
只改 caret_style 或只加 caret_extra_width 效果有限,真正起效要三步联动:
-
"hardware_acceleration": "none":GPU 渲染(OpenGL)在高 DPI 下会错误缩放光标坐标,导致位置漂移+发虚 -
"font_options": ["directwrite"]:仅文字走 DirectWrite 不够,但它是光标能被正确绘制的前提 - 在当前 UI 主题文件里搜
"class": "caret",确保"layer0.opacity"≥ 0.95,"layer0.tint"是纯色(如"#ffffff"),别用含 alpha 的数组(如[255, 255, 255, 128])
caret_style 和 extra 参数只能辅助,不能替代底层修复
这些设置确实能让光标更醒目,但前提是底层渲染已稳定:
-
"caret_style": "wide"或"phase"比默认"thin"更易识别 -
"caret_extra_width": 2可加粗,但若底层坐标偏移未解决,加宽后反而更糊 -
"caret_extra_top"/"caret_extra_bottom"只调编辑区光标高度,不修正 DPI 偏移,副屏错位时无效
多显示器混合 DPI 下,光标错位是已知限制
Sublime Text 4 当前不支持 per-monitor DPI 动态切换,光标坐标始终按主屏 DPI 计算。副屏缩放为 100% 时,光标可能显示在文本上方 2px 处,或随滚动跳动:
- 唯一稳定解法:所有显示器设为相同系统缩放比例(如都 150%)
- 临时缓解:关闭
enable_ime(会影响中文输入法候选框位置) - 别指望靠
ui_scale或dpi_scale补偿——它们不参与光标坐标计算
真正卡住的点从来不是“该填什么值”,而是 hardware_acceleration 设成 "none" 后没彻底退出进程;只要还有 subl.exe 在后台跑,新配置就压根不加载。


















