扩展发布工作流(Publish Workflow)
本技能用于将 VS Code 扩展同时发布到 VS Code Marketplace 和 Open VSX Registry,确保用户在 VS Code 和 Cursor 等编辑器中都能搜索安装。
前置条件
- •
Token 配置(在
.env文件中):- •
pat: VS Code Marketplace 的 Personal Access Token - •
ovsx_token: Open VSX Registry 的 Access Token
- •
- •
工具安装:
- •
vsce: VS Code 扩展打包和发布工具 - •
ovsx: Open VSX 发布工具
- •
发布步骤
每次发布时,按以下顺序执行:
1. 打包扩展
bash
npx vsce package
生成 .vsix 文件(如 recode-0.1.3.vsix)。
2. 发布到 VS Code Marketplace
bash
source .env && NODE_TLS_REJECT_UNAUTHORIZED=0 npx vsce publish -p $pat
或使用已打包的 vsix 文件:
bash
source .env && NODE_TLS_REJECT_UNAUTHORIZED=0 npx vsce publish --packagePath <name>.vsix -p $pat
注意:
NODE_TLS_REJECT_UNAUTHORIZED=0用于解决某些网络环境下的 SSL 证书验证问题。
3. 发布到 Open VSX Registry
bash
source .env && ovsx publish <name>.vsix -p $ovsx_token
完整发布命令(一键执行)
bash
# 打包并发布到两个市场 npx vsce package && \ source .env && \ NODE_TLS_REJECT_UNAUTHORIZED=0 npx vsce publish -p $pat && \ ovsx publish *.vsix -p $ovsx_token
发布前检查清单
- • 更新
package.json中的版本号 - • 更新
changelog.md - • 确保代码编译无错误 (
npm run compile) - • 确保
.env中的 token 有效
常见问题
ovsx 命令找不到
安装 ovsx:
bash
npm install -g ovsx
namespace 被占用
首次发布到 Open VSX 时,如果 publisher namespace 已被占用,需要到 open-vsx.org 申请认领。
Token 过期
- •VS Code Marketplace Token: 在 Azure DevOps 重新生成
- •Open VSX Token: 在 open-vsx.org Settings → Access Tokens 重新生成