VS Code无原生窗口透明,须分层实现:窗口级靠系统API(Windows用vscode-transparency补丁、macOS用GlassIt-VSC)、编辑器区域级靠workbench.colorCustomizations配#RRGGBBAA色值、背景图层靠插件注入;混用易致失效或渲染异常。

VS Code 没有原生透明窗口功能,所谓“透明”必须分层实现:窗口级(靠系统 API)、编辑器区域级(靠 CSS 颜色值)、背景图层(靠插件注入)。选错层级,要么无效,要么闪屏、文字发虚、重启失效。
Windows 上唯一可靠的窗口级透明:vscode-transparency 补丁
插件如 glassit-vsc 在 Windows 上已基本失效;vscode-transparency 是目前唯一能调用 DWM API 实现 Acrylic/Mica 模糊 + alpha 通道的方案。但必须严格匹配版本:
-
VSCode 1.86+(2026 年 4 月起)必须用补丁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";设成"native"会直接关闭透明通道
macOS 原生窗口透明:GlassIt-VSC 插件
它不改配置、不注入 CSS,而是直接调用 NSWindow.setAlphaValue_(),响应快且重启保留设置,但只作用于主窗口容器,不影响侧边栏/终端内容渲染:
- 安装后需手动配置快捷键,例如在
keybindings.json中添加:{"key": "cmd+shift+up", "command": "glassit.increase"} - 透明值范围是
0.1(极透)到1.0(完全不透明);低于0.3时深色主题下标题栏文字可能难以辨认 - Rosetta 模式运行 VSCode 可能触发渲染异常,执行
GlassIt: Set Opacity输入1.0可立即恢复 - 对 Dock 缩略图、Mission Control 效果无控制力;禁用原生标签页
"window.nativeTabs": false可缓解缩略图不生效问题
跨平台安全方案:workbench.colorCustomizations 设置编辑器区域透明
这是最稳定、兼容性最好的方式,只改编辑器、终端、侧边栏等 UI 元素的 CSS 背景色,不触碰窗口层,所有系统都支持:
- 颜色值必须用
#RRGGBBAA(如"#1e1e1e80")或rgba(r,g,b,a)(如"rgba(30,30,30,0.7)"),其中AA或a控制透明度 -
editor.background和terminal.integrated.background必须分开设置,后者不会继承前者 - 某些主题(如
One Dark Pro)会在内部强制覆盖editor.background,建议优先用#RRGGBBAA格式避免解析歧义
别碰 workbench.desktop.main.css 直接改样式
网上流传的修改 workbench.desktop.main.css 文件末尾加 body{opacity:0.8!important} 的方法,在 VS Code 1.80+ 版本中已被废弃,会导致:
- 每次更新后文件被重置,配置丢失
- 破坏 DOM 结构导致侧边栏折叠异常、状态栏错位
- 与
workbench.colorCustomizations冲突,引发不可预测的渲染错误
真正需要的是分层判断:要窗口级模糊就用对应平台的官方支持方案,要 UI 区域半透就走 colorCustomizations,混用或硬 patch CSS 是最容易出问题的路径。


















