根本原因是Sublime Text不支持Windows的Per-Monitor DPI动态切换,仅读取主显示器缩放值;唯一稳定解法是右键快捷方式→兼容性→勾选“替代高DPI缩放行为”并设为“应用程序”,再完全退出重启;之后才可配置ui_scale、dpi_awareness和font_options生效。

为什么多屏切换时Sublime Text UI会突然变小或模糊
根本原因是 Sublime Text 的 dpi_scale 和 ui_scale 都只读取主显示器的缩放值,且不支持 Windows 的 Per-Monitor DPI 动态切换。当你从 150% 笔记本屏切到 100% 外接屏,Sublime 仍按 1.5 渲染,但系统又对整个窗口做一次 100% 缩放,结果就是 UI 元素错位、侧边栏文字挤成一团、状态栏被裁切。
禁用系统 DPI 注入是唯一稳定解法
别指望靠改配置自动适配——Windows 对 Sublime 这类 Qt 应用的 Per-Monitor 支持极弱。必须让系统彻底不管它:
- 右键 Sublime 快捷方式 → 属性 → 兼容性 → 「更改高 DPI 设置」
- 勾选「替代高 DPI 缩放行为」,下拉选「应用程序」
- 确认后点击确定,**必须完全退出 Sublime(托盘右键 → Exit)再重启**
这步之后,Sublime 才真正用自己的逻辑渲染,ui_scale 和 font_options 才开始起作用。不走这步,后面所有设置都是白调。
ui_scale 和 dpi_awareness 必须共存且值一致
仅设 ui_scale 在多屏下照样失效,因为默认启动模式仍是 unaware,系统继续强制拉伸:
- 打开 Preferences → Settings – User,在 JSON 中添加:
{ "ui_scale": 1.5, "dpi_awareness": "per_monitor_v2", "font_options": ["directwrite"] } -
ui_scale值必须严格对应你常用屏幕的缩放比例(如 150% →1.5),不能填"150%"或150 -
dpi_awareness只能是"per_monitor_v2",填"system"或留空等于没设 -
font_options必须是数组,不是字符串;加了才能避免中文字体发虚
侧边栏和标签页字体不随切换变化?它们根本不响应 ui_scale
ui_scale 只缩放按钮、菜单、状态栏高度等容器尺寸,文件名、标签文字大小由主题控制:
- 新建
Packages/User/Adaptive.sublime-theme(若当前用 Adaptive 主题) - 写入:
[{"class":"sidebar_label","font.size": 14},{"class":"tab_label","font.size": 13}] - 保存后按
Ctrl+Shift+P→ 输入UI: Reload Theme生效 - 避免改
Default.sublime-theme,它会被更新覆盖
最易忽略的是:即使你把 ui_scale 调对了,侧边栏还是小——这不是缩放失败,是主题没重写字号,得单独补。










