vscode原生不支持窗口透明,必须依赖系统api或补丁(如windows的vscode-transparency、macos的glassit-vsc);workbench.colorcustomizations仅作用于ui元素背景,无法穿透electron容器实现窗口级透明。

VSCode 无法通过 settings.json 直接设置“透明窗口”——所谓窗口级透明,必须依赖系统 API 或 Electron 补丁,插件只是帮你调用或配置它们。
GlassIt-VSC:唯一不改文件、不加 CSS 的原生窗口透明方案
它直接调用 macOS/Windows 系统 API 设置主窗口 alpha 值,不是改 UI 背景色,所以能真正让标题栏、边框、Dock 预览都变透。
- 安装后
必须手动配置快捷键,默认无绑定;写在keybindings.json里,不是settings.json - 透明值范围是
0.1(极透)到1.0(完全不透明),0.3以下在暗色主题下容易看不清标题栏文字 - macOS 上若用 Rosetta 运行 VSCode,可能闪屏或拖动卡顿,此时执行
GlassIt: Set Opacity输入1.0可立即恢复 - 它只影响主窗口容器,
editor.background、终端、侧边栏内容等 UI 层完全不受影响
workbench.colorCustomizations:只能调 UI 区域背景,不是窗口透明
这个配置项改的是编辑器内部 Webview 渲染层的背景色,比如 editor.background、sideBar.background,永远穿不透 Electron 容器。
- 颜色值必须用
#RRGGBBAA(如"#1e1e1e80")或rgba(r,g,b,a)(如"rgba(30,30,30,0.7)"),AA是十六进制透明度,00=全透,FF=不透 - 某些主题(如 One Dark Pro)会覆盖你写的
editor.background,建议优先用#RRGGBBAA格式避免解析歧义 - 终端背景需单独设
terminal.integrated.background,它不继承editor.background,也无需重启 - 设成
"#00000000"后,底下仍是 VSCode 默认灰白底——除非你已启用 GlassIt 或补丁
vscode-transparency 补丁:Windows 下唯一稳定支持 Acrylic/Mica 模糊的方案
这是目前 Windows 10/11 上唯一能真正实现毛玻璃(acrylic/mica)和窗口级透明的补丁,原理是替换 Electron 渲染入口并调用 DWM API。
- VSCode 1.86+ 必须用 v1.12+ 补丁,否则报错
Cannot find module 'vs/base/common/platform' - 配置写在
%APPDATA%\Code\User\settings.json中:"transparency.opacity": 0.85、"transparency.blur": "acrylic" - 必须加启动参数
--disable-gpu,否则模糊失效或闪烁;window.titleBarStyle必须为"custom" - 不要尝试
electron.launchArgs强加--enable-transparent-visuals,Windows 下该参数无效
Background Cover:唯一可靠设背景图的插件,但和“窗口透明”无关
它通过合法 DOM 注入伪元素展示图片,backgroundCover.opacity 控制的是这张图的叠加层透明度,不是编辑器窗口本身。
-
backgroundCover.imagePath必须是绝对路径,Windows 也要用正斜杠,如"C:/Users/you/Pictures/bg.jpg" -
backgroundCover.opacity建议设0.08–0.15,超过0.2代码直接看不清;插件内部硬限制 >0.6 会 fallback 到0.3 - 想让终端/侧边栏也“透出同一张图”,得额外配:
terminal.integrated.background: "#00000000"+sideBar.background: "#00000000" - 别同时装 Background Cover 和 Custom CSS and JS Loader,CSS 规则会互相覆盖,现象是图片忽隐忽现
最容易被忽略的一点:macOS 上所有“透明插件”都无法让 Mission Control 缩略图或 Dock 预览变透——它们永远是不透明矩形块,这是系统限制,不是插件问题。











