vscode仅在首次打开含正确路径.vscode/extensions.json的项目根目录时触发推荐横幅,该文件须为标准json格式,字段名严格为recommendations且值为合法插件id字符串数组。

直接在项目根目录下建 .vscode/extensions.json,写对 recommendations 字段,新成员打开项目时就会看到推荐横幅——这是唯一被 VSCode 官方识别并触发 UI 提示的机制。
为什么 extensions.json 放对位置才生效
VSCode 只扫描项目**根目录**下的 .vscode/extensions.json。路径错一格(比如放在 src/.vscode/ 或漏掉 .vscode 文件夹)就完全不读;文件名拼错(如 extension.json、recommends.json)也不认。
- 正确路径:
your-project/.vscode/extensions.json - 必须是 JSON 格式:不能有中文逗号、尾随逗号、注释或未转义的双引号
- 字段名必须是
recommendations(不是recommends、suggestions或复数变体) - 值必须是字符串数组,每个元素是完整插件 ID,例如
"ms-python.python",不能只写"python"
recommendations 里该填哪些插件 ID
只放项目真正依赖、影响基础编辑体验的插件。比如一个 TypeScript + React 项目,ms-vscode.vscode-typescript-browser 比 ms-vscode.vscode-typescript-next 更稳;而 esbenp.prettier-vscode 必须和项目里的 .prettierrc 配置匹配,否则保存时格式化会出错。
- 查 ID 最可靠方式:在已安装插件列表中右键 →「Copy Extension ID」,或看扩展市场 URL 末尾,如
https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml→ ID 是redhat.vscode-yaml - 避免堆砌:像
bracket-pair-colorizer-2这类纯视觉增强插件,不写进recommendations更合适 - Remote-SSH 或 Dev Containers 场景下,
extensions.json仍有效,但不会自动装——它只是提示;真要自动装得靠.devcontainer/devcontainer.json的extensions字段
为什么推荐横幅没弹出来
VSCode 只在「首次打开含 .vscode/extensions.json 的文件夹」时触发横幅。之后再开,哪怕删了重装 VSCode 也不会重复提醒——它记的是工作区打开历史,不是文件是否存在。
- 用户点过「不再显示」,横幅就永久消失;需手动清空 VSCode 设置里的
extensions.ignoreRecommendations(设为false) - 检查设置搜索
ignoreRecommendations,确认没被设成true;也别在settings.json里加"extensions.autoUpdate": false,虽然不影响推荐,但新人点了「Install All」没反应会误以为功能坏了 - 如果用 Remote-SSH 打开,横幅可能不出现——因为推荐逻辑默认只对本地窗口生效;此时应优先补全
.devcontainer/devcontainer.json
最容易被忽略的一点:插件推荐 ≠ 自动安装,它只是个带「Install All」按钮的提示。团队协作时,务必在 README 里加一句说明,否则新人很可能视而不见——尤其当横幅只闪一下就收进通知中心时。











