确保扩展项目包含 package.json、README.md 等必要文件,其中 publisher 字段需与 VSCode Marketplace 创建的发布者 ID 一致。2. 全局安装 vsce 工具:npm install -g @vscode/vsce。3. 登录 VS Code Marketplace 并创建发布者。4. 在 Azure DevOps 中生成具有 Marketplace 管理权限的 Personal Access Token。5. 使用 vsce login 命令登录并输入 Token 完成身份验证。6. 运行 vsce package 生成 .vsix 扩展包用于测试。7. 执行 vsce publish 发布扩展,支持指定版本或使用 patch 等语义化增量发布。8. 发布后访问 marketplace.visualstudio.com/items?itemName=. 查看页面效果。9. 更新时修改 version 字段并重新发布,同步更新 CHANGELOG.md 和 README.md。整个流程依赖正确的项目配置和认证设置,后续维护简单高效。

把 VSCode 扩展打包并发布到 Visual Studio Code Marketplace 是一个清晰但需要细心操作的过程。下面是从开发完成到成功发布的完整流程,适用于第一次发布扩展的新手,也适合回顾发布细节的开发者。
1. 准备扩展项目结构
确保你的扩展项目包含以下关键文件:
-
package.json:必须包含
name、version、publisher、main(入口文件)、contributes等字段。 - vsc-extension-quickstart.md:初始化时生成的帮助文档,可删除。
- README.md:展示在市场页面的说明文档。
- CHANGELOG.md:更新日志,推荐添加。
- icons/ 和 gallery/:可选,用于市场展示图标和截图。
特别注意:publisher 字段是你在 VSCode Marketplace 上注册的发布者名称,必须提前创建。
2. 安装 vsce 工具
vsce(VS Code Extension Manager)是官方命令行工具,用于打包和发布扩展。
安装命令:npm install -g @vscode/vsce
确保你已安装 Node.js(建议 v16+)和 npm。
3. 创建发布者(Publisher)
访问 VS Code Marketplace 并使用 Microsoft 账号登录。
- 点击右上角头像 → “Manage Publishers”
- 点击 “Create a publisher”
- 填写发布者 ID(唯一标识,如
mycompany或yourname) - 记下这个 ID,它将用于
package.json中的publisher字段
4. 登录 Azure DevOps(用于身份验证)
发布扩展需通过 Azure DevOps 认证。
- 访问:https://www.php.cn/link/a20cab171bfed09f88940ead90462022
- 使用与 Marketplace 相同的 Microsoft 账号登录
- 进入个人设置(右上角头像 → Personal Access Tokens)
- 点击“New Token”,设置:
- Name: vsce-publish
- Organization: All accessible organizations
- Scopes: Select Marketplace (Manage)
- 生成 Token,复制并保存(只显示一次)
5. 登录 vsce(使用 Personal Access Token)
在终端运行:
vsce login
例如:
vsce login john-doe
然后输入你刚刚创建的 Personal Access Token。
成功后,vsce 会缓存凭证,后续发布无需重复登录。
6. 打包扩展(.vsix 文件)
在项目根目录运行:
vsce package
生成一个 your-extension-name-version.vsix 文件,可用于本地安装或测试。
如果想跳过某些文件,可在 .vscodeignore 中配置,类似 .gitignore。
7. 发布扩展到 Marketplace
直接发布当前版本:
vsce publish
这条命令会自动打包并上传到 Marketplace。
也可以指定版本号发布:
vsce publish 1.0.1
支持语义化版本(semver),如 patch、minor、major:
vsce publish patch
这会自动递增版本号并发布。
8. 验证发布结果
发布完成后,访问:
https://www.php.cn/link/76cb2624c9d093d029a3a43ae55148f1/items?itemName=.
例如:
https://www.php.cn/link/76cb2624c9d093d029a3a43ae55148f1/items?itemName=john-doe.my-awesome-extension
稍等几分钟,新版本通常很快可见。
9. 后续维护与更新
每次更新代码后,只需修改 package.json 中的 version 字段,然后再次运行:
vsce publish
确保更新 CHANGELOG.md 和 README.md,让用户清楚变化。
基本上就这些。整个流程不复杂,但容易忽略发布者创建和 Token 权限配置。只要准备好 vsce 环境和认证信息,发布就像提交一次 npm 包一样简单。










