Export Your Extensions

Selectively export and import your VS Code extensions with an intuitive, modern interface. Choose exactly which extensions to backup, restore, or transfer between machines using interactive webviews with checkboxes.
✨ Features
🎯 Selective Extension Management
- Interactive Export: Choose which extensions to export using checkboxes
- Smart Import: Preview and select extensions before importing
- Visual Status Indicators: See which extensions are installed, need updates, or require action
- Bulk Selection: Quick selection options for common scenarios
🎨 Modern User Interface
- Theme-Aware: Perfect integration with VS Code's light and dark themes
- Interactive Webviews: Modern, responsive interface that feels native
- Real-time Feedback: Live counters and progress indicators
- Intuitive Controls: Easy-to-use selection and filtering options
🚀 Smart & Fast
- Automatic Filtering: Excludes built-in VS Code extensions automatically
- Rich Metadata: Exports extension names, descriptions, versions, and publishers
- Progress Tracking: Detailed progress during import operations
- Error Handling: Graceful handling of network issues and installation failures
🔧 Developer Friendly
- Comprehensive Testing: 25+ test cases ensuring reliability
- Open Source: MIT licensed with active community support
- Well Documented: Complete documentation and examples
- Performance Optimized: Handles large extension lists efficiently
🚀 Quick Start
1. Export Your Extensions
- Open Command Palette (
Ctrl+Shift+P
/ Cmd+Shift+P
)
- Type "Export Extensions" and select the command
- Choose which extensions to export using the interactive interface
- Save your extension list as a JSON file
2. Import Extensions
- Open Command Palette (
Ctrl+Shift+P
/ Cmd+Shift+P
)
- Type "Import Extensions" and select the command
- Select your previously exported JSON file
- Review and select which extensions to install or modify
- Watch the automated installation process
📋 Available Commands
Command |
Description |
Export Extensions |
Open interactive export interface with checkbox selection |
Import Extensions |
Import and selectively install extensions from JSON file |
Show Extensions List |
View formatted table of all installed extensions |
🎮 Usage Guide
Export Interface
The export interface provides powerful selection controls:
Selection Options:
- ✅ Select All - Select all available extensions
- ❌ Select None - Deselect all extensions
- 🎯 Select Only Active - Select only currently active extensions
- 📤 Export Selected - Export chosen extensions to JSON
Features:
- Live counter showing selected extensions
- Extension details (name, description, version, publisher)
- Automatic exclusion of built-in extensions
Import Interface
The import interface shows detailed information before installation:
Status Indicators:
- 🟢 INSTALLED - Extension already installed
- 🔴 NOT INSTALLED - Extension needs installation
Action Preview:
- Install & Activate - New extensions to be installed
- Enable - Installed but disabled extensions
- Disable - Active extensions to be disabled
- No Action Needed - Extensions already in correct state
Selection Shortcuts:
- 📥 Select Only Missing - Select extensions not currently installed
- 🔄 Select Only Changes - Select extensions needing state changes
The extension creates detailed JSON exports with complete metadata:
[
{
"id": "ms-python.python",
"name": "Python",
"description": "IntelliSense, Debugging, Code navigation, and more",
"version": "2023.16.0",
"publisher": "ms-python",
"state": true
},
{
"id": "esbenp.prettier-vscode",
"name": "Prettier - Code formatter",
"description": "Code formatter using prettier",
"version": "10.1.0",
"publisher": "esbenp",
"state": true
}
]
🔧 Requirements
- VS Code: Version 1.74.0 or higher
- Node.js: For development and testing (optional)
🧪 Testing
This extension includes comprehensive test coverage:
# Quick unit tests (recommended)
npm run test:unit
# Full test suite
npm test
# Code quality check
npm run lint
Test Results:
- ✅ 8/8 Unit Tests Passing
- ✅ Integration Tests Passing
- ✅ Performance Tests Passing
- ✅ Error Handling Validated
For detailed testing information, see TESTING.md.
🤝 Contributing
Contributions are welcome! Here's how to get started:
- Fork the repository
- Clone your fork locally
- Install dependencies:
npm install
- Run tests:
npm run test:unit
- Make your changes
- Test thoroughly
- Submit a pull request
Development Guidelines
- Follow existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass
📝 Changelog
See CHANGELOG.md for detailed release notes and version history.
Latest Release - v2.0.0
- 🎉 Major release with complete rewrite and interactive UI
- ✨ Interactive webviews for selective export/import
- 🎨 Theme-aware UI supporting light/dark modes
- 🧪 Comprehensive test suite with 25+ test cases
- 📚 Complete documentation and examples
- 🔄 Backward compatibility with previous export formats
❓ FAQ
Q: Can I use old export files from version 1.0.x?
A: Yes! The extension maintains backward compatibility with old export formats.
Q: Will this work with workspace-specific extensions?
A: Yes, the extension exports all user-installed extensions regardless of workspace.
Q: Can I export only specific types of extensions?
A: Yes! Use the interactive interface to select exactly which extensions you want to export.
Q: What happens if an extension fails to install?
A: The import process continues with other extensions and provides a detailed error report.
🐛 Issues & Support
📄 License
This extension is licensed under the MIT License.
🙏 Acknowledgments
- VS Code Team - For the excellent extension API
- Community Contributors - For feedback and testing
- Extension Users - For making this project worthwhile
Made with ❤️ by Bhargav Detroja
If this extension helps you, please consider giving it a ⭐ on GitHub!