# Publish

> 发布扩展到 VS Code Marketplace 和 Open VSX Registry，确保两个市场同步更新。 Use when this capability is needed.

- Skill: `tomevault-io/publish-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/publish-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/publish-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector WARNING)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/publish-2

---


# 扩展发布工作流（Publish Workflow）

本技能用于将 VS Code 扩展同时发布到 **VS Code Marketplace** 和 **Open VSX Registry**，确保用户在 VS Code 和 Cursor 等编辑器中都能搜索安装。

## 前置条件

1. **Token 配置**（在 `.env` 文件中）：
   - `pat`: VS Code Marketplace 的 Personal Access Token
   - `ovsx_token`: Open VSX Registry 的 Access Token

2. **工具安装**：
   - `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](https://open-vsx.org) 申请认领。

### Token 过期

- VS Code Marketplace Token: 在 [Azure DevOps](https://dev.azure.com) 重新生成
- Open VSX Token: 在 [open-vsx.org](https://open-vsx.org) Settings → Access Tokens 重新生成

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/aiyuekuang) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

