sublime text 窗口透明度依赖系统api而非编辑器原生功能:windows用setlayeredwindowattributes,linux用xcomposite,macos因sip限制基本不可行;唯一稳定方案是使用transparency插件,通过系统调用实现6档快捷键控制(ctrl+shift+1–6),数值越小越透明,需避免低于170导致ui元素融合背景。

Sublime Text 窗口透明度不是编辑器功能,而是系统级操作
Sublime Text 本身完全不支持原生窗口透明——你调的不是它,是 Windows 的 SetLayeredWindowAttributes 或 Linux 的 XComposite。macOS 因 SIP 限制,基本不可行,别白费劲试 WindowTint 或硬改 .sublime-theme。
这意味着:
- background 改成 rgba(0,0,0,0.7)?那只影响代码区背景色,标题栏、边框、任务栏缩略图全不透;
- background_image + opacity?那是贴图叠加,一逗号写错就白屏,和“玻璃感”毫无关系;
- 所谓“SublimeTextTrans”插件?已多年未维护,在 ST4.4+ 上大概率报错或快捷键失灵,安装前务必删干净 Packages/SublimeTextTrans 文件夹。
唯一稳定方案:用 Transparency 插件配系统 API
目前适配 Sublime Text 4 最可靠的插件是 Transparency(作者 treaclyor),它不 patch 二进制、不改主题、纯靠系统调用,重启即生效。
安装步骤很直接:
- 按 Ctrl+Shift+P → 输入 Package Control: Install Package;
- 搜索并安装 Transparency(注意拼写,不是 SublimeTextTrans);
- 若提示 There are no packages available,说明 Package Control 没连上源:打开 Preferences → Package Settings → Package Control → Settings – User,加一行:
{ "channels": ["https://packagecontrol.io/channel_v3.json"] },保存后重启 Sublime。装完立刻可用:菜单栏出现 View → Window's Transparency,快捷键 Ctrl+Shift+[1–6] 对应 6 档预设值(默认从 255 到 170)。
自定义透明度档位:改 levels 数组,别猜百分比
levels 是整数数组,严格按顺序对应 Ctrl+Shift+1 到 Ctrl+Shift+6,数值越小越透明,但不是线性百分比——200 ≈ 78% 不透明,180 ≈ 70%,低于 170 就容易让括号匹配高亮、行号、光标“融进背景”,尤其在深色主题 + 高亮度屏下。
想精细控制?打开 Preferences → Package Settings → Transparency → Settings – User,写:
{ "levels": [255, 240, 225, 205, 190, 175] }
比如把第 4 档设为 205(≈80% 不透明),比默认 215 更稳;第 6 档卡在 175,留点余量防糊。改完保存即生效,无需重启;若快捷键失灵,优先检查是否和 Emmet 或 SideBarEnhancements 的 keymap 冲突。
Windows 用户慎用 AutoHotkey,除非真需要动态响应
虽然 AutoHotkey 能用 WinSet, Transparent, N, A 控制任意窗口,但它本质是绕过插件的“高阶操作”:要监听窗口标题、处理多显示器焦点、避免误设其他程序。日常使用纯属增加复杂度,收益极小。
示例脚本里这句:
WinSet, Transparent, %transparency_level%, A看似简单,但一旦 Sublime 未激活、或被其他窗口遮挡,透明度就失效;想开机自动设值?得额外加窗口检测逻辑,远不如
Transparency 插件开箱即用。真正容易被忽略的点是:所有这些方案,调的都是整个窗口图层的 Alpha 值——标题栏透不透、任务栏缩略图清不清楚、甚至 Alt+Tab 预览效果,全都取决于这个 0–255 的整数。它和配色方案、字体渲染、GPU 加速无关,也压根不碰你的 color_scheme 文件。











