Sublime Text 官方不支持窗口置顶,唯一稳定方案是通过Transparency插件配置"enable_topmost": true;禁用"topmost_on_focus"防焦点干扰;避免AutoHotkey等易失效方案。

Sublime Text 本身不支持窗口置顶
Sublime Text 没有内置的 always_on_top 配置项,也不提供「窗口置顶」功能——这不是遗漏,是官方明确不实现的设计选择。所有声称“改 Settings 就能置顶”的教程,要么混淆了其他编辑器(如 VS Code),要么在调用系统级 API 的插件上碰运气。
靠插件实现置顶:Transparency 插件附带的 hack 方案
目前唯一稳定、轻量、ST4 兼容的方案,是利用 Transparency 插件的底层机制间接达成:它通过调用 Windows/macOS/Linux 原生窗口管理 API 修改窗口属性,其中就包含设置 WS_EX_TOPMOST(Windows)或 NSWindowLevelFloating(macOS)这类标志位。
- 先按常规方式安装
Transparency:Ctrl+Shift+P →Package Control: Install Package→ 搜Transparency - 安装后,打开
Preferences → Package Settings → Transparency → Settings – User - 添加以下配置(仅对 Windows 和 macOS 有效,Linux 下多数 WM 不支持可靠置顶):
{ "enable_topmost": true, "topmost_on_focus": false } -
"topmost_on_focus": false很关键——设为true会导致你一点击其他窗口,Sublime 就自动抢回焦点,干扰正常多任务
为什么别碰第三方 patch 或 AutoHotkey 脚本
网上有些方案教你用 AutoHotkey 写脚本监听 subl.exe 进程并执行 WinSet, AlwaysOnTop,或者用工具给 Sublime 主窗口句柄打补丁。这些做法问题明显:
- 每次 Sublime 升级(尤其是 ST4.4+ 启用沙箱渲染后)可能重置窗口类名或句柄结构,脚本立即失效
- AutoHotkey 脚本需常驻运行,增加后台资源占用;且无法区分 Sublime 的多个实例,容易误置顶错误窗口
- 部分 patch 工具修改的是内存中窗口样式位,Sublime 重启后丢失,还得重新打
- macOS 上启用辅助功能权限后,AppleScript 方案虽可行,但每次系统更新都可能因隐私策略收紧而中断
替代思路:用系统级“专注模式”代替硬置顶
如果你的真实需求是“写代码时不被微信/钉钉弹窗打断”,与其强行置顶 Sublime,不如让其他应用降级:
- Windows:开启「专注助手」→ 设置为“仅允许重要提醒”,再把 Sublime 加入「始终允许」白名单(需系统版本 ≥22H2)
- macOS:进入「系统设置 → 通知」→ 关闭非必要 App 的横幅提醒;再用「快捷键」
Control+Command+Space呼出聚焦搜索,快速切回 Sublime - 终极妥协:用
Ctrl+Shift+P→ 输入set_setting sidebar_visible false+set_setting tabs_visible false,收掉所有 UI 元素,视觉上更“沉浸”,比物理置顶更少干扰
真正可靠的置顶,得靠操作系统窗口管理器保证;Sublime 作为无状态文本编辑器,不会、也不该越界接管这个职责。你调得越用力,越容易撞上升级墙或跨平台断层。










