Sublime Text 原生不支持窗口置顶,因官方未实现该功能;唯一稳定方案是 Transparency 插件(需设 "enable_topmost": true 且 "topmost_on_focus": false),Windows 用户推荐 PowerToys Always on Top 模块。

Sublime Text 原生不支持窗口置顶,任何在 Preferences.sublime-settings 或 Window.sublime-settings 里添加 always_on_top、stay_on_top 等字段的操作都会被忽略——这不是配置没找对,是官方根本没实现这个功能。
为什么改 Settings 文件无效
Sublime Text 的设计哲学强调轻量与跨平台一致性,窗口层级控制完全交由操作系统处理。它没有暴露相关 API,插件系统也无法直接调用 SetWindowPos(Windows)或 NSWindowLevelFloating(macOS)。所以:
- 手动写入
"always_on_top": true后重启,设置会被静默丢弃,甚至可能因 JSON 格式错误导致整个 Settings 解析失败 - 修改
Default (Windows).sublime-keymap绑定快捷键,不会触发任何窗口行为,因为底层无对应命令 - 依赖窗口标题匹配的脚本(如
nircmd win settopmost title "Sublime Text 4")在多窗口、含项目名标题(如"main.py - myproject - Sublime Text")时极易失效
Transparency 插件配置要点
目前唯一稳定兼容 ST4.4+ 的方案是 Transparency 插件,但它不是“开箱即用”,必须精确配置两处关键项:
- 安装后进入
Preferences → Package Settings → Transparency → Settings – User - 只写入以下内容(Linux 下基本无效,勿尝试):
{ "enable_topmost": true, "topmost_on_focus": false } -
"topmost_on_focus": false必须设为false:否则每次 Alt+Tab 切回 Sublime,它会强制抢焦点并跳到最前,打断正常工作流 - 若不需要透明效果,加
"opacity": 1.0避免视觉干扰 - 配置完必须完整重启 Sublime Text,仅重载插件或刷新设置不生效
Windows 推荐用 PowerToys 而非插件
对 Windows 用户,PowerToys 的 Always on Top 模块比 Transparency 更稳,原因很实际:
- 它不依赖窗口标题或类名,而是 hook 进程句柄,兼容 Sublime 4.4+ 的 OpenGL 渲染模式
- 快捷键
Ctrl + Space默认全局可用,且可在 PowerToys 设置中自由重绑,避免和 IDE 冲突 - 无需管理员权限,普通用户运行即可生效
- 多个 Sublime 窗口可分别置顶/取消,互不干扰
- 禁用
topmost_on_focus的麻烦事,这里根本不存在
macOS 和 Linux 的现实选择
macOS 上 Afloat 已停止更新,Stay 和 Rectangle Pro 是更可靠的选择,但注意:
-
osascript -e 'tell application "Sublime Text" to activate'只能“激活并前置”,不是真·置顶;必须配合辅助功能授权 + 第三方工具(如Slate)才能锁住层级 - Linux 各桌面环境差异大:
wmctrl -r "Sublime Text" -b add,above在 GNOME 42+ 上常失效,而 KDE 的右键菜单选项Keep on Top最简单有效 - 所有系统级方案都避不开一个事实:Sublime 多窗口时,你只能对“当前活动窗口”操作,无法批量置顶
真正容易被忽略的是:置顶本身会破坏全屏模式(distraction_free_mode)和高 DPI 缩放逻辑,尤其在多显示器场景下。如果你只是想边写代码边看文档,分屏或虚拟桌面往往比强行置顶更少出问题。


















