Extension Publisher
Build, version, and publish VS Code extensions with ease 🚀
Extension Publisher is a comprehensive VS Code extension that streamlines the entire development lifecycle of VS Code extensions - from creation to publishing. Whether you're a seasoned extension developer or just getting started, this tool provides everything you need to build, test, version, and distribute your extensions efficiently.

✨ Features
Project Management
- 📁 Project Discovery: Automatically detect VS Code extension projects in your workspace
- ➕ Add Projects: Import existing extension projects
- ✨ Create New Projects: Generate new extension projects with templates
- 🧙♂️ Project Wizard: Interactive wizard for creating fully configured extensions
Build & Development
- 🔨 Smart Building: Automatic dependency installation and TypeScript compilation
- 🧪 Testing Integration: Run extension tests with built-in test runners
- 📦 Package Creation: Generate VSIX packages for distribution
- 🔄 Watch Mode: Continuous compilation during development
Version Management
- 🏷️ Automatic Versioning: SemVer-compliant version calculation
- 📝 Conventional Commits: Support for conventional commit messages
- 🔖 Git Integration: Automatic git tagging and commit history analysis
- 📊 Version Strategies: Multiple versioning strategies (SemVer, CalVer, Custom)
Publishing & Distribution
- 🚀 Multi-Registry Publishing: VS Code Marketplace and Open VSX Registry
- 🔐 Secure Token Management: Encrypted storage of publisher tokens
- 🌍 Internationalization: Multi-language support (English/German)
- ⚙️ Configurable Workflows: Customizable build and publish pipelines
User Interface
- 📊 Activity Bar Integration: Dedicated sidebar with project overview
- 🌳 Tree Views: Hierarchical project and configuration management
- 📋 Status Bar: Real-time status updates and quick actions
- 🎨 Theme-Aware: Adapts to VS Code light/dark themes
🚀 Quick Start
- Install the Extension: Search for "Extension Publisher" in the VS Code Extensions marketplace
- Open Your Workspace: Open a folder containing VS Code extension projects
- View Projects: Check the Activity Bar for the Extension Publisher icon
- Start Building: Right-click on any project to build, test, or publish
📋 Requirements
- VS Code: Version 1.103.0 or higher
- Node.js: Version 16 or higher
- Git: For version management features
🔧 Getting Started
Creating a New Extension
- Click the Extension Publisher icon in the Activity Bar
- Select "🧙♂️ Project Wizard" from the Actions panel
- Fill in your extension details
- Choose your preferred setup (TypeScript, bundler, etc.)
- Click "Create Extension Project"
Building an Extension
- Right-click on any extension project in the tree view
- Select "Build Extension"
- Watch the output panel for build progress
- Find your compiled extension in the
dist/
folder
Publishing an Extension
- First, configure your publishing tokens via "Manage Tokens"
- Right-click on your extension project
- Select "Publish Extension"
- Choose your target registry (VS Code Marketplace, Open VSX, or both)
- Optionally increment the version before publishing
🔑 Token Management
Extension Publisher securely stores your publishing tokens using VS Code's built-in secret storage:
📦 Commands
Command |
Description |
extension-publisher.refreshProjects |
Refresh project list |
extension-publisher.createProject |
Create new extension |
extension-publisher.openWizard |
Open project wizard |
extension-publisher.buildProject |
Build extension |
extension-publisher.packageProject |
Package as VSIX |
extension-publisher.publishProject |
Publish to registry |
extension-publisher.manageTokens |
Manage publishing tokens |
extension-publisher.editPackageJson |
Edit package.json |
extension-publisher.incrementVersion |
Increment version |
extension-publisher.validateProject |
Validate project |
⚙️ Configuration
Extension Publisher works out of the box but can be customized through VS Code settings:
{
"extension-publisher.autoRefresh": true,
"extension-publisher.defaultRegistry": "vscode",
"extension-publisher.showNotifications": true
}
🌍 Internationalization
Extension Publisher supports multiple languages:
- 🇺🇸 English
- 🇩🇪 German (Deutsch)
The interface automatically adapts to your VS Code language setting.
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
- Clone this repository
- Run
npm install
to install dependencies
- Press
F5
to start debugging
- Make your changes and test thoroughly
- Submit a pull request
📄 License
This project is licensed under the MIT License - see the LICENSE.md file for details.
🐛 Bug Reports & Support
📈 Changelog
See CHANGELOG.md for a complete list of changes.
🙏 Acknowledgments
- Thanks to the VS Code team for the excellent extensibility API
- Thanks to all contributors and users who make this project better
- Special thanks to the open-source community for inspiration and feedback
Made with ❤️ by PyEngine
Happy Extension Building! 🎉