终端背景色需设 terminal.integrated.background(如"#0d0d0d"),不支持rgba;透明度用 backgroundOpacity;PowerShell和zsh插件可能覆盖该设置。

终端背景色和编辑器主题完全无关,改 editor.background 或换主题对终端没任何影响。 必须直接操作 terminal.integrated.background 或 terminal.background 才能生效。
terminal.integrated.background 是最直接有效的设置项
这是 VSCode 从 1.80 版本起主推的终端背景控制字段,优先级高、兼容性好、行为稳定。
- 打开命令面板(
Ctrl+Shift+P或Cmd+Shift+P),输入并选择Preferences: Open Settings (JSON) - 在
{}内添加:"terminal.integrated.background": "#0d0d0d" - 保存后,新开终端(
Ctrl+Shift+`)立即生效;已打开的终端不会刷新,必须重启终端实例 - 不支持
rgba()或透明度写法——它只接受纯色十六进制值,如#121212,别用#000000(OLED 烧屏风险)
terminal.background 仍可用,但要注意作用域和冲突
这个老字段在部分场景下仍被识别(尤其搭配 workbench.colorCustomizations 使用),但它和 terminal.integrated.background 共存时,后者会覆盖前者。
- 若你已在
workbench.colorCustomizations中写了"terminal.background": "#1e1e1e",它依然有效,但属于“间接路径” - PowerShell 用户要特别小心:它的
$Host.UI.RawUI.BackgroundColor会强行覆盖这个值,导致改了也不显——先在终端里运行$Host.UI.RawUI.BackgroundColor确认是否被劫持 - zsh/oh-my-zsh 用户如果提示符颜色异常,大概率是插件硬编码了 ANSI 色号,此时需同步调
terminal.ansiBrightBlue等对应项,而非只动 background
想加透明度?必须用 terminal.integrated.backgroundOpacity
background 本身不支持 alpha,透明效果靠独立字段实现:先画纯色背景,再叠一层蒙版。
- 配合上面的 background 使用,例如:
"terminal.integrated.backgroundOpacity": 0.85 - 值低于
0.7容易透出编辑器背景,文字边缘发虚;Windows 用户若遇闪烁,建议设为0.92或干脆不用 - 该字段在旧版 VSCode(code --version
- 注意检查工作区设置(
.vscode/settings.json)是否覆盖了用户级设置——它优先级更高
真正容易被忽略的是:终端颜色是否生效,不只取决于 VSCode 设置,还卡在 Shell 层。比如 PowerShell 没开 $PSStyle.OutputRendering = 'Ansi',或 zsh 没设 TERM=xterm-256color,就算配全 16 种 terminal.ansi* 也白搭。











