VSCode通知面板颜色需通过workbench.colorCustomizations配置notificationsBackground等键值修改,而非状态栏相关设置;改后须完全重启生效,且易被第三方主题覆盖。
VSCode 状态栏本身不支持直接修改通知提示(比如右下角弹出的 Toast)的颜色,所谓“自定义状态栏通知色彩”实际是混淆了两个东西:状态栏(status bar)和通知面板(notification toast)。真正能调的,是通知面板的背景色与文字色,靠的是配置项。
通知面板颜色在哪改?用
VSCode 的通知(如“文件已保存”“扩展已启用”这类右下角弹窗)属于 Workbench UI 的一部分,其样式由主题色变量控制,不是 CSS 覆盖能搞定的。必须在设置中修改
对应的 key:
:通知弹窗背景色(默认透明或浅灰)
:通知文字颜色
:通知里可点击链接的颜色(比如“重载窗口”)
、
、
:分别控制错误/警告/信息图标颜色
示例(写入
):
为什么改了没生效?常见失效原因
配置写对了但颜色不变,大概率是以下情况之一:
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
当前启用了第三方主题(如
),它会覆盖
—— 解决办法:在主题自己的
或文档里查是否禁用了 color customization,或换回默认主题测试
写错了 key 名,比如把
拼成
(少个 s)或
(多加了 Color)
没重启 VSCode —— 修改
后必须完全退出再重开,热重载不生效
通知类型不同,颜色变量也不同:比如“错误通知”优先读
,而不是通用的
,需单独配
状态栏(status bar)和通知(notification)别搞混
很多人搜“状态栏通知”,其实是想让关键信息(比如 Git 分支、Python 环境、保存状态)在底部状态栏更醒目。这跟右下角弹窗无关,得走另一条路:
状态栏颜色由
、
控制,同样在
下配置
想高亮某个状态栏项目(如 Python 解释器路径),可用扩展
或
类工具,但原生不支持单个项目变色
Git 分支名等文本本身无法单独着色,除非该扩展(如
)自己暴露了 color token,否则只能整体改
最常被忽略的一点:VSCode 通知系统没有“重要级别”分层机制,所有通知共用同一套 color token。你没法让“保存成功”是绿色、“扩展崩溃”是红色——除非扩展自己调用了不同 severity(info/warning/error),而 VSCode 会据此自动应用对应 icon 和 background(如果主题支持)。所以真要突出“重要信息”,优先检查扩展是否用了
而不是
,这才是触发红色背景的根本动作。
workbench.colorCustomizationsworkbench.colorCustomizationsworkbench.colorCustomizationsnotificationsBackgroundnotificationsForegroundnotificationLinkForegroundnotificationErrorIconForegroundnotificationWarningIconForegroundnotificationInfoIconForegroundsettings.json{
"workbench.colorCustomizations": {
"notificationsBackground": "#ff4757",
"notificationsForeground": "#ffffff",
"notificationLinkForeground": "#ff9ff3",
"notificationErrorIconForeground": "#ff6b6b"
}
}One Dark Proworkbench.colorCustomizationspackage.jsonnotificationsBackgroundnotificationBackgroundnotificationBackgroundColorworkbench.colorCustomizationsnotificationErrorBackgroundnotificationsBackgroundstatusBar.backgroundstatusBar.foregroundworkbench.colorCustomizationsstatus-bar-hosthighlight-bad-charsGitLensstatusBar.backgroundvscode.window.showErrorMessage()showInformationMessage()