靠.vscode/extensions.json文件在项目根目录声明recommendations插件id(如esbenp.prettier-vscode),首次以该目录为工作区打开vscode时自动提示安装,实现团队扩展统一推荐;它不依赖插件市场分发或自动更新设置。

VSCode 插件市场本身不支持团队内部分发
VSCode 官方 Marketplace 是公开、中心化的分发渠道,没有私有组织级市场或内部插件仓库功能。你无法通过它直接向团队成员“推送”插件,也不能限制安装来源或强制启用某扩展。所谓“统一分发”,实际是靠 .vscode/extensions.json 触发本地提示,而非从市场拉取或安装。
真正起作用的是 extensions.json + 正确的插件 ID 格式
团队成员首次打开项目时能否看到推荐横幅,完全取决于 .vscode/extensions.json 是否存在、路径是否正确、ID 是否合法。
-
.vscode/extensions.json必须放在项目根目录下,不能放在子目录或用户 home 中 - 每个插件 ID 必须是
publisher.name格式(如esbenp.prettier-vscode),不是插件名、URL 或短 ID - 错误示例:
prettier-vscode(缺发布者)、prettier(错)、https://marketplace.visualstudio.com/...(无效) - 最稳妥获取方式:在 VSCode Extensions 视图中右键插件 →
Copy Extension ID(1.86+ 支持)或从 URL 提取最后一段
为什么 settings.json 里写 "extensions.autoUpdate": true 没用
这个设置只控制已安装插件的自动更新行为,和“分发”无关。它不会触发任何新插件安装,也不会让 extensions.json 的推荐更显眼或更早出现。
-
"extensions.autoUpdate": true仅影响本地已有插件的后台更新逻辑 - 团队成员没装过某个插件,该设置完全不生效
- 想统一版本,得靠
extensions.json推荐 + 文档说明 + CI 检查(比如用code --list-extensions验证)
容易被忽略的关键断点:首次打开 ≠ 每次生效
extensions.json 的推荐横幅只在用户**第一次以该文件夹为工作区打开 VSCode** 时弹出。之后再开,就不会再提示——哪怕你删了插件重来。
- 已打开过的项目,需手动进入 Extensions 视图 → 点右上角
…→Show Recommended Extensions - 如果项目是通过
code .命令打开,但当前终端不在项目根目录,VSCode 可能识别不到.vscode目录 - 多人协作中,有人用 Finder / 文件管理器双击打开,有人用命令行,路径解析行为不一致,导致推荐失效
真正稳定的“分发”效果,依赖的是团队对首次打开动作的一致认知,而不是技术自动兜底。











