VSCode不支持创建个人插件市场合集,唯一原生可控的插件集合机制是项目根目录下的.vscode/extensions.json文件,它以硬声明方式指定推荐插件ID数组,首次打开工作区时在扩展视图顶部显示提示,支持团队同步且需提交至Git。

VSCode 不支持用户创建“个人插件市场合集”
VSCode 官方市场(marketplace.visualstudio.com)不提供用户级收藏夹、合集或私有插件库页面功能。你无法像在 npm 或 GitHub 上建 organization 那样,创建一个带 URL 的、可公开/私有访问的「我的插件合集」主页。
替代方案:用 extensions.json 声明项目级推荐插件
这是 VSCode 唯一原生支持的、可控的“插件集合”机制——它不依赖市场算法,也不需要发布行为,只作用于当前工作区。
- 在项目根目录新建
.vscode/extensions.json,内容格式必须是标准 JSON 数组 - 数组里只填插件 ID 字符串,例如
"ms-python.python"、"esbenp.prettier-vscode",ID 可从 marketplace 页面 URL 或插件详情页底部复制 - 该文件会被 Git 跟踪,团队成员克隆后首次打开工作区,VSCode 就会在扩展视图顶部显示 This workspace has extension recommendations
- 它不会自动安装插件,但右键推荐项可选
Install in Dev Container(若配置了 devcontainer)或普通安装 - 注意:ID 大小写敏感;拼错、多空格、加引号外字符都会导致整条推荐失效
为什么不用“已安装插件导出”或第三方工具
很多人尝试用 code --list-extensions 导出本地已装插件再分享,但这不可靠:
-
code --list-extensions输出的是全局已安装 ID 列表,不含版本、用途说明、是否必需等上下文 - 不同机器上同一插件可能因版本差异行为不一致(比如旧版 Prettier 不支持
prettier.config.mjs) - 导出结果混入调试用插件(如
ms-vscode.vscode-typescript-next),误传给协作者会污染环境 - 没有语义化分组能力,无法区分“开发必需”“CI 专用”“仅我本地用”三类插件
想长期维护多个插件组合?得靠手动同步 + 文档约定
如果你实际要管理的是跨项目的插件策略(比如“前端项目统一用 ESLint + Prettier + Tailwind CSS”,“Python 数据项目固定配 Jupyter + Pylance + Black”),目前只能靠人工维护:
- 为每类项目建模板仓库,在
.vscode/extensions.json中固化 ID 列表 - 配合 README.md 写明每项插件的作用,例如:
"ms-python.pylance"→ “提供类型推导与智能补全,禁用python.languageServer默认值” - 定期检查 marketplace 页面更新日期和 issue 响应速度,手动更新
extensions.json中的 ID(ID 本身不变,但插件行为可能变) - 避免把私有插件(如公司内网发布的
internal.company-eslint)写进公开模板,否则别人安装会失败且无提示
真正容易被忽略的是:VSCode 从不校验 extensions.json 中的插件是否还存在于 marketplace。ID 写错、插件下架、重命名后未同步更新,都会让推荐列表静默失效——你得自己点开每个推荐项确认能否跳转到有效页面。


















