windows上只设ui_scale无效,是因为sublime text默认以dpi-unaware模式启动,系统强制位图拉伸导致ui_scale被绕过;必须同时设置"dpi_awareness":"per_monitor_v2",且值严格匹配系统缩放比例(如150%→1.5),改完需彻底退出并重启。

为什么只设 ui_scale 没反应?
Windows 上单独加 "ui_scale": 1.5 无效,是因为 Sublime Text 默认以 DPI-unaware 模式启动,系统直接对整个窗口做位图拉伸,ui_scale 被完全绕过。它不是“没生效”,而是压根没机会生效。
-
dpi_awareness必须显式设为"per_monitor_v2"(不能是"system"或留空) - 两项必须同时出现在
Preferences → Settings – User中,缺一不可 - 值要严格对应系统「显示设置 → 缩放与布局」:150% → 填
1.5,填"150%"或150都会失效 - 改完必须右键托盘图标 →
Exit,彻底杀掉所有subl.exe进程,仅关闭窗口不行
图标模糊真是缩放问题?还是渲染路径错了?
图标模糊和文字发虚,90% 是因为还在用 GDI 渲染,而不是 DirectWrite。这不是缩放比例调得不够高,而是字体引擎根本没切对。
- 在用户设置中加入:
"font_options": ["directwrite"](必须是数组,写成字符串会静默失败) - 同步开启并完成 Windows 的 ClearType 校准(运行
cttune.exe,全程走完向导) - 禁用显卡驱动里的「覆盖应用程序抗锯齿设置」,否则会干扰
directwrite - 避免混用:
["directwrite", "subpixel_antialias"]会冲突,只保留directwrite即可
侧边栏、标签页文字太小,ui_scale 为啥不生效?
ui_scale 控制的是按钮、状态栏、菜单等容器尺寸,但侧边栏文件名、标签页标题、行号这些文字大小由主题或独立配置决定——它们压根不读 ui_scale。
- 侧边栏字号:编辑
Packages/User/Default.sublime-theme,加{"class": "sidebar_label", "font.size": 14} - 行号(gutter)字号:用户设置中加
"gutter_font_size": 12(ST4 build 4126+ 支持) - 标签页字体:换用 Adaptive 主题更可靠,它原生响应
ui_scale;若用其他主题,需手动改其.sublime-theme文件 - 改完主题后,按
Ctrl+Shift+P→ 输入UI: Reload Theme,或重启生效
多显示器缩放不同(比如笔记本 150% + 外接 100%),怎么稳住?
Sublime Text 不支持真正的 Per-Monitor DPI 动态切换。ui_scale 和 dpi_scale 都只取主屏值,副屏 UI 必然偏小或模糊——这不是你配错了,是软件限制。
- 唯一稳定解法:右键快捷方式 → 属性 → 兼容性 → 「更改高 DPI 设置」→ 勾选「替代高 DPI 缩放行为」,下拉选「应用程序」
- 这个设置让 Windows 不再注入缩放,交由 Sublime 自己用 DirectWrite 渲染,副屏也能保持清晰
- 此时仍需保留
ui_scale和dpi_awareness,否则部分 UI 元素(如右键菜单高度)可能错位 - 副作用是状态栏/标签页略紧凑,但比模糊、锯齿、错位强得多
font_options 没开、ClearType 没校准、兼容性设置没勾——四者缺一,高分屏下就难逃模糊。











