Skip to content

Commit 29cde2b

Browse files
committed
🔧 修复打包发布工具链: vsce升级与文档同步完成
🚀 重大功能完成/重大突破成果: - 打包工具现代化升级: 从过时vsce迁移到@vscode/vsce - CI/CD发布流程修复: release.yml配置完全更新 - 文档同步完成: README.md和验证指南统一工具链 📦 技术实现突破/技术实现: - 更新.github/workflows/release.yml使用npx @vscode/vsce package - 修复README.md构建命令并添加工具升级警告 - 完善local-verification-guide.md打包问题解决方案 - 解决README.md特殊字符图片引用导致打包失败 🎯 解析能力/验证能力达成: - ✅ 本地打包成功 xkcoding-api-navigator-1.0.0.vsix (2.82MB) - ✅ 工具链统一 CI/CD和本地开发使用相同@vscode/vsce - ✅ 文档完整性 三个关键文件全部同步最新标准 📊 状态: 打包发布工具链100%修复完成,CI/CD流程准备重新验证
1 parent c4a0ea7 commit 29cde2b

File tree

4 files changed

+65
-17
lines changed

4 files changed

+65
-17
lines changed

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ jobs:
3131
- name: Package extension
3232
id: package
3333
run: |
34-
PACKAGE_NAME=$(npx vsce package --out xkcoding-api-navigator.vsix | grep "Packaged:" | awk '{print $2}' || echo "xkcoding-api-navigator.vsix")
34+
PACKAGE_NAME=$(npx @vscode/vsce package --out xkcoding-api-navigator.vsix | grep "Packaged:" | awk '{print $2}' || echo "xkcoding-api-navigator.vsix")
3535
echo "package_name=xkcoding-api-navigator.vsix" >> $GITHUB_OUTPUT
3636
3737
- name: Publish to VSCode Marketplace
3838
env:
3939
VSCE_PAT: ${{ secrets.VSCE_PAT }}
40-
run: npx vsce publish --packagePath xkcoding-api-navigator.vsix
40+
run: npx @vscode/vsce publish --packagePath xkcoding-api-navigator.vsix
4141

4242
- name: Upload VSIX to release
4343
run: |

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# API Navigator for Spring Boot
22

33
<div align="center">
4-
<img src="images/icon@2x.png" alt="API Navigator Logo" width="128" height="128">
4+
<img src="images/icon.png" alt="API Navigator Logo" width="128" height="128">
55

66
[![CI](https://github.com/xkcoding/API-Navigator/actions/workflows/ci.yml/badge.svg)](https://github.com/xkcoding/API-Navigator/actions/workflows/ci.yml)
77
[![Release](https://github.com/xkcoding/API-Navigator/actions/workflows/release.yml/badge.svg)](https://github.com/xkcoding/API-Navigator/actions/workflows/release.yml)
@@ -120,8 +120,8 @@ code --install-extension xkcoding.xkcoding-api-navigator
120120

121121
<div align="center">
122122
<img src="images/icon.png" alt="128px" width="64" height="64" title="128px">
123-
<img src="images/icon@2x.png" alt="256px" width="64" height="64" title="256px">
124-
<img src="images/icon@4x.png" alt="512px" width="64" height="64" title="512px">
123+
<img src="images/icon.png" alt="256px" width="64" height="64" title="256px">
124+
<img src="images/icon.png" alt="512px" width="64" height="64" title="512px">
125125
<br>
126126
<small>🎨 专业图标设计:指南针 + API 概念,多分辨率适配</small>
127127
</div>
@@ -216,10 +216,12 @@ npm run compile
216216
# 构建扩展包
217217
npm run vscode:prepublish
218218

219-
# 打包 VSIX
220-
npx vsce package
219+
# 打包 VSIX (使用新版工具)
220+
npx @vscode/vsce package
221221
```
222222

223+
> **⚠️ 重要**: 请使用新版 `@vscode/vsce` 工具,旧版 `vsce` 已被弃用。如遇冲突,请使用 `npm install -g @vscode/vsce --force`
224+
223225
#### 自动发布流程
224226
1. **创建 Release**: 在 GitHub 上创建新的 Release
225227
2. **自动触发**: GitHub Actions 自动执行构建和发布

local-verification-guide.md

Lines changed: 54 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,49 @@ npm test -- test/core/JavaASTParser.test.ts
3333
### 第二步:构建VSIX包
3434

3535
```bash
36-
# 安装打包工具
37-
npm install -g vsce
36+
# 安装新版打包工具 (旧版vsce已弃用)
37+
npm install -g @vscode/vsce --force
3838

3939
# 打包扩展
4040
vsce package
4141

42-
# 产生文件: api-navigator-1.0.0.vsix
42+
# 产生文件: xkcoding-api-navigator-1.0.0.vsix
43+
```
44+
45+
#### ⚠️ 常见打包问题解决
46+
47+
**问题1: vsce工具版本冲突**
48+
```bash
49+
# 错误: npm ERR! EEXIST: file already exists
50+
# 解决: 强制安装新版本
51+
npm install -g @vscode/vsce --force
52+
```
53+
54+
**问题2: README.md图片引用错误**
55+
```bash
56+
# 错误: Invalid image source in README.md: images/icon@2x.png
57+
# 原因: 文件名包含特殊字符@
58+
# 解决: 修改README.md,使用基础图标文件
59+
```
60+
61+
**问题3: 包体积过大警告**
62+
```bash
63+
# 警告: 632 files, 2.82MB - 建议bundle优化
64+
# 解决: 添加.vscodeignore文件排除不必要文件 (可选)
4365
```
4466

4567
### 第三步:在VSCode中安装测试
4668

4769
1. **安装扩展**:
4870
```bash
49-
code --install-extension api-navigator-1.0.0.vsix
71+
code --install-extension xkcoding-api-navigator-1.0.0.vsix
5072
```
5173

5274
2. **或手动安装**:
5375
- 打开VSCode
5476
-`Cmd+Shift+P` (macOS) 或 `Ctrl+Shift+P` (Windows/Linux)
5577
- 输入 "Install from VSIX"
56-
- 选择生成的 `api-navigator-1.0.0.vsix` 文件
78+
- 选择生成的 `xkcoding-api-navigator-1.0.0.vsix` 文件
5779

5880
## 🧪 功能验证测试
5981

@@ -178,6 +200,14 @@ public class TestController {
178200
- 检查文件路径是否正确
179201
- 验证AST解析是否成功
180202

203+
#### 问题4: 打包失败
204+
**症状**: `vsce package` 命令失败
205+
**常见原因和解决**:
206+
- **工具过时**: 使用 `npm install -g @vscode/vsce --force`
207+
- **图片引用错误**: 检查README.md中是否有特殊字符的图片文件名
208+
- **依赖冲突**: 执行 `npm ci` 重新安装清洁依赖
209+
- **编译错误**: 先运行 `npm run compile` 确保编译成功
210+
181211
## 📈 成功标准
182212

183213
### 功能要求
@@ -298,9 +328,10 @@ API Navigator 现在支持自动读取和应用项目的 `.gitignore` 文件规
298328
## 📊 验证检查清单
299329

300330
### 安装验证 ✅ **已完成**
301-
- [x] VSIX文件成功生成
331+
- [x] VSIX文件成功生成 (`xkcoding-api-navigator-1.0.0.vsix`, 2.82MB)
302332
- [x] VSCode扩展安装无错误
303333
- [x] 扩展在运行中的扩展列表中显示
334+
- [x] 新版vsce工具 (`@vscode/vsce`) 打包成功
304335

305336
### 功能验证 ✅ **已完成**
306337
- [x] API Navigator面板正确显示
@@ -344,9 +375,24 @@ API Navigator 现在支持自动读取和应用项目的 `.gitignore` 文件规
344375

345376
---
346377

347-
**最后更新**: 2025-07-24 14:39:11 (北京时间)
378+
## 🎯 2025-07-24 打包更新记录
379+
380+
### ✅ 关键修复和改进
381+
1. **工具升级**: 从过时的 `vsce` 升级到 `@vscode/vsce`
382+
2. **文档修复**: 解决README.md中特殊字符图片引用问题
383+
3. **CI/CD修复**: 更新release.yml中的打包命令
384+
4. **指南完善**: 添加常见打包问题解决方案
385+
386+
### 📦 最终打包结果
387+
- **文件**: `xkcoding-api-navigator-1.0.0.vsix`
388+
- **大小**: 2.82MB (632文件)
389+
- **状态**: ✅ 打包成功,可直接安装
390+
391+
---
392+
393+
**最后更新**: 2025-07-24 21:15:00 (北京时间)
348394
**验证版本**: API Navigator v1.0.0
349-
**状态**: 🎊 **QA/TEST 全面验证完成 - 准备发布**
395+
**状态**: 🎊 **本地打包验证完成 - 工具链升级**
350396

351397
## 🎯 QA/TEST 验证完成状态 ✅
352398

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)