VS Code Extension Creator
Create, configure, test, and publish VS Code extensions with extension-specific best practices.
Core Workflow
- Initialize - Create package.json with extension manifest
- Implement - Write extension.ts with activate/deactivate
- Test - Set up @vscode/test-electron with CI
- Publish - Bump version, update CHANGELOG, push to main → automated publishing
Publishing Process
- Update CHANGELOG.md with new version section
- Bump version in package.json (semantic versioning)
- Commit and push to main
- GitHub Actions automatically:
- Creates Git tag
- Publishes to marketplace (if version not already published)
- Skips if tag exists (idempotent)
Critical Learnings
Activation Events
onCommand:extension.commandId (load when command executed) preferred over * (load on startup)
CI Test Workflow
Tests run on pull_request only, not on push to main (avoids redundant post-merge execution)
.vscodeignore
**/*.ts # Exclude TypeScript
!out/**/*.d.ts # Include declarations
Linux CI Testing
Requires xvfb-run -a npm test for GUI tests
Marketplace README
Use absolute GitHub URLs: https://raw.githubusercontent.com/user/repo/main/images/demo.png
Version Matching
@types/vscode version must match engines.vscode
References