notifications: toasts设为off才能彻底禁用右下角弹窗,静默模式仅临时生效且不影响插件通知;gitlens、codegeex等插件需单独配置其notification开关,工作区settings.json可能覆盖用户设置,残留通知需手动清除。

Notifications: Toasts 关不掉?先确认没误点静默模式
右下角那个带斜杠的?图标是「通知静默模式」,不是关闭开关。它只临时屏蔽 vscode.window.showInformationMessage 这类 API 弹窗,重启 VSCode 就失效,也不影响插件更新提示或语言服务器卡住的转圈。真正起效的是设置里的 Notifications: Toasts,必须手动设为 off(路径:文件 → 首选项 → 设置,搜索 notifications)。
插件自己弹的更新提示,全局设置拦不住
像 GitLens、ESLint、CodeGeeX 这类插件常绕过 VSCode 通知系统,直接调用原生弹窗 API。它们有自己的配置项,必须单独处理:
-
GitLens:搜gitlens.advanced.messages,设为空数组[] -
CodeGeeX:关codegeex.notification.enableNotification -
ESP-IDF:设IDF: Notification Mode为output或off
找不到对应配置?在 settings.json 里搜 notification、update、telemetry —— 插件通知藏得深,靠 GUI 搜索不一定全。
关了 Toasts 还弹窗?检查工作区配置和缓存残留
VSCode 配置优先级是:工作区 > 用户 > 默认。局部配置能直接绕过你点的所有 GUI 开关。
- 按
Ctrl+Shift+P→ 输入Preferences: Open Workspace Settings (JSON),确认里面没写错值,比如意外写了"notifications.toasts": true - 已有的待更新提示不会自动消失,得手动清除:执行命令
Notifications: Clear All Notifications - 如果命令搜不到,说明你用的是旧版 VSCode;可打开开发者工具(
Ctrl+Shift+I),Console 里粘贴notifications.clearAll()再回车 - 某些插件(如
ms-python.python)的语言服务器更新卡住,本质是下载失败,需手动删缓存目录:ms-python.python-*/out/languageServer/
任务栏闪烁、状态栏刷新、终端滚动——这些不是通知,但一样打断专注
状态栏本身不发通知,右下角弹窗和任务栏闪烁也不是它控制的。想“禁用状态栏通知”,大概率是搞错了目标对象。
- 任务栏图标闪烁(带黑圈)由
tasks.silent控制,设为true才有效,和Notifications: Toasts完全无关 - 新建项目时反复弹
Do you want to install the recommended extensions??这不是 toast,得关extensions.ignoreRecommendations - 终端输命令就自动滚屏?关
terminal.integrated.scrollOnUserInput;Git 每 60 秒自动 fetch?关git.autofetch
最易被忽略的是:工作区配置覆盖用户设置,以及插件自身 notification 开关藏得深——哪怕 Notifications: Toasts 是 off,只要某个插件在 settings.json 里硬编码了弹窗逻辑,它就照弹不误。











