extensions.ignorerecommendations 设为 true 可禁用推荐扩展弹窗,但需配置在用户级 settings.json 中;右下角通知需手动执行 notifications: clear all notifications 清除;部分插件如 github pull requests 需单独关闭其推荐设置。

关 extensions.ignoreRecommendations 才真正生效
新建或打开文件夹时弹出的 Do you want to install the recommended extensions from xxx and others for this repository? 提示,只由一个配置项控制:extensions.ignoreRecommendations。设为 true 后,VSCode 就不再读取项目根目录下 .vscode/extensions.json 里的 recommendations 字段,也不会触发该弹窗。
这个设置必须写在用户级 settings.json 中(即全局生效),不能放在工作区(.vscode/settings.json)里——因为推荐逻辑在工作区加载初期就运行,此时工作区配置尚未加载。
常见误操作包括:
- 搜索 “notification” 或 “recommended”,却点错成
Extensions: Auto Update或Notifications: Toasts—— 它们完全不拦截这个提示 - 以为禁用 GitLens、ESLint 等插件就能阻止弹窗——只要
extensions.ignoreRecommendations没关,且仓库含extensions.json,提示照旧
勾选后右下角气泡仍不消失?得清通知队列
即使已启用 extensions.ignoreRecommendations,之前积压的推荐提示可能还“钉”在右下角铃铛图标上,点 × 不消失,甚至重启后又出现。这是因为通知注册状态未清除,仅关闭开关不清理队列。
必须手动执行清理命令:
- 按
Ctrl + Shift + P(Windows/Linux)或Cmd + Shift + P(macOS)打开命令面板 - 输入并执行
Notifications: Clear All Notifications - 若该命令不可见(旧版 VSCode),可打开开发者工具(
Ctrl + Shift + I),在 Console 中执行notifications.clearAll()
注意:仅靠点击右下角 × 或关闭铃铛菜单,无法解除底层注册状态。
某些插件会绕过这个开关硬弹窗
极少数插件(如 GitHub Pull Requests and Issues、Remote - SSH)不读 extensions.ignoreRecommendations,而是直接检测当前仓库是否存在 package.json、.git 等文件,然后调用 vscode.window.showInformationMessage 复现推荐行为。
这类弹窗需单独处理:
-
GitHub Pull Requests and Issues:搜githubPullRequests.recommendations,设为false -
Remote - SSH:检查是否启用了remote.ssh.enableAgentForwarding或相关提示开关,部分版本需在插件设置中关闭ssh.showRecommendations - 找不到对应配置?在设置中搜插件名 +
recommend、notify、telemetry,或直接查其 GitHub README
别碰 .vscode/workspaceTrust.json 或信任相关字段
有人误以为编辑 .vscode/workspaceTrust.json 能影响推荐逻辑——它和推荐提醒完全无关。VSCode 实际不读该项目级文件来判断是否显示推荐,信任状态只存于本地用户数据目录(如 Windows 的 %APPDATA%\Code\User\workspaceStorage\ 下哈希路径中)。
同理,.vscode/settings.json 中的 security.workspace.trust.untrustedFiles 只控制“未信任时能否打开文件”,不影响推荐弹窗是否触发。
符号链接目录(如 ln -s ~/projects/myapp ./myapp)被信任后,VSCode 记录的是解析后的绝对路径——这点容易让人误判推荐是否已被屏蔽。











