Task: Configure VSCE packaging and publishing workflow
Description
Set up the VSCode Extension (VSCE) packaging and publishing workflow to enable automated building and publishing of the extension to the VSCode marketplace. This includes configuring VSCE, creating build scripts, and setting up CI/CD automation for releases.
Acceptance Criteria
Technical Details
- Install vsce as dev dependency:
npm install -D @vscode/vsce
- Update
extensions/vscode/package.json scripts:
"vscode:prepublish": "npm run compile": Pre-publish hook
"package": "vsce package": Create .vsix package
"publish": "vsce publish": Publish to marketplace
"publish:patch": "vsce publish patch": Bump patch version and publish
"publish:minor": "vsce publish minor": Bump minor version and publish
"publish:major": "vsce publish major": Bump major version and publish
- Create
.vscodeignore file to exclude:
- Source files (*.ts, tsconfig.json)
- Test files
- Development dependencies
- Git files (.git, .github, .gitignore)
- Build artifacts (node_modules from bundling)
- Documentation sources
- CI/CD configs
- Create GitHub Actions workflow
.github/workflows/publish-vscode-extension.yml:
- Trigger on tag push (v*..)
- Run tests and build
- Package extension
- Publish to marketplace using VSCE_PAT secret
- Create GitHub release with .vsix artifact
- Configure publisher account:
- Create Personal Access Token (PAT) in Azure DevOps
- Add VSCE_PAT as GitHub secret
- Register publisher on VSCode marketplace
- Add publishing documentation to
extensions/vscode/PUBLISHING.md:
- How to create releases
- Version bumping guidelines
- Pre-publish checklist
- Rollback procedures
- Files affected:
extensions/vscode/package.json (updated)
extensions/vscode/.vscodeignore (new file)
.github/workflows/publish-vscode-extension.yml (new file)
extensions/vscode/PUBLISHING.md (new file)
Dependencies
Effort Estimate
- Size: M
- Hours: 6
- Parallel: false
Definition of Done
Task: Configure VSCE packaging and publishing workflow
Description
Set up the VSCode Extension (VSCE) packaging and publishing workflow to enable automated building and publishing of the extension to the VSCode marketplace. This includes configuring VSCE, creating build scripts, and setting up CI/CD automation for releases.
Acceptance Criteria
Technical Details
npm install -D @vscode/vsceextensions/vscode/package.jsonscripts:"vscode:prepublish": "npm run compile": Pre-publish hook"package": "vsce package": Create .vsix package"publish": "vsce publish": Publish to marketplace"publish:patch": "vsce publish patch": Bump patch version and publish"publish:minor": "vsce publish minor": Bump minor version and publish"publish:major": "vsce publish major": Bump major version and publish.vscodeignorefile to exclude:.github/workflows/publish-vscode-extension.yml:extensions/vscode/PUBLISHING.md:extensions/vscode/package.json(updated)extensions/vscode/.vscodeignore(new file).github/workflows/publish-vscode-extension.yml(new file)extensions/vscode/PUBLISHING.md(new file)Dependencies
Effort Estimate
Definition of Done