extensions.json 文件必须位于项目根目录的 .vscode/extensions.json 路径,生效标志是扩展视图底部出现「Workspace Recommendations」区域;需确认文件未被忽略、JSON格式合法、extensions.ignoreRecommendations 为 false,且插件ID大小写准确、完整。

extensions.json 文件在哪,怎么确认它生效了
它必须放在项目根目录下的 .vscode/extensions.json 路径,少一个点、多一层目录、拼错文件名(比如写成 extension.json)都会让 VSCode 完全忽略它。
生效与否不靠“有没有文件”,而看 VSCode 扩展视图底部是否出现「Workspace Recommendations」区域。如果没看到,先检查:
-
.vscode是隐藏文件夹,确保没被系统或 Git 忽略(.gitignore里别写.vscode) - JSON 格式合法:用 VSCode 自带的 JSON 验证(保存时会报错),或粘贴到 jsonlint.com 检查
- VSCode 设置中未禁用推荐:
extensions.ignoreRecommendations必须为false(默认就是false,除非你或团队手动关过)
打开项目后看不到推荐横幅?先查这三处
不是所有打开方式都触发提示。只有「首次打开该工作区」或「手动刷新推荐列表」才会弹出右下角横幅。常见遗漏点:
- 你之前已打开过这个项目(哪怕只是浏览过),VSCode 就不再视为“首次”——此时去命令面板(
Ctrl+Shift+P)执行Extensions: Show Recommended Extensions for this Workspace - 当前窗口是「添加文件夹到已有工作区」,而非单独打开该文件夹——推荐只对顶层工作区生效
- 插件 ID 写错了,比如把
ms-python.python写成ms-python.Python(大小写敏感)或漏掉 publisher 部分(python不行,必须是完整 ID)
怎么快速验证 extensions.json 里的插件 ID 对不对
别凭记忆或截图抄 ID,最稳的方式是直接从 VSCode 里取:
- 在扩展视图(
Ctrl+Shift+X)搜索插件名 → 点进已安装的条目 → 右键 →Copy Extension ID - 如果插件还没装,去市场页搜,点进详情 → 看浏览器地址栏末尾:
https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode→ ID 就是esbenp.prettier-vscode - 复制完立刻粘贴进
extensions.json,然后保存——VSCode 会实时校验 JSON,语法错误会高亮标红
unwantedRecommendations 字段容易被当成摆设
这个字段不是可有可无的装饰。当项目依赖特定版本 TypeScript 或禁用某调试器时,它能防止 VSCode 自动推荐冲突插件。例如:
{ "recommendations": ["ms-vscode.vscode-typescript-next"], "unwantedRecommendations": ["ms-vscode.vscode-typescript"] }
但要注意:
-
unwantedRecommendations只屏蔽推荐,不卸载已安装的插件 - 它只对当前工作区生效,不影响其他项目
- 如果你发现某个本该被屏蔽的插件仍出现在推荐区,大概率是拼写不一致,比如
ms-vscode.js-debug和ms-vscode.js-debug-nightly是两个不同 ID
真正起作用的永远是精确匹配的字符串,而不是模糊关键词。


















