Quick Extension Manager
Efficiently manage VS Code extensions per workspace for optimal performance and focus
Quick Extension Manager provides a modern webview interface for managing workspace-specific extension profiles in Visual Studio Code. Enable or disable extensions per workspace to improve performance, reduce resource usage, and maintain focus on project-relevant tools.
Features
Modern Webview Interface
- Professional card-based UI with real extension icons, names, and descriptions
- Real-time search to filter extensions by name, ID, or description
- Smart filtering options to show All, Enabled, or Disabled extensions
- Interactive toggle switches for intuitive enable/disable controls
- Live status tracking with extension counts and pending changes indicator
- Responsive design that adapts to VS Code themes

Workspace Management
- Per-workspace configuration allowing different extension sets for each project
- Team collaboration through shareable
.vscode/ext.config.json
files
- Performance optimization by reducing VS Code startup time and memory usage
- Automatic activation when workspace contains configuration files
- Cross-platform support for Windows, macOS, and Linux
Full Command Suite
- Interactive extension management through modern webview interface
- Direct enable/disable functionality for immediate control
- Marketplace integration with links for extension updates
- Quick access shortcuts to GitHub repository, settings, and issue reporting
- Comprehensive CLI integration using VS Code's official command-line interface
Quick Start
- Install the extension from the VS Code Marketplace
- Open Command Palette with
Ctrl+Shift+P
(Windows/Linux) or Cmd+Shift+P
(macOS)
- Execute
Quick Extension Manager: Manage Extensions
- Use the webview interface to search, filter, and toggle extensions
- Apply changes to save configuration and restart VS Code with new settings
Available Commands
Access all functionality through the Command Palette (Ctrl+Shift+P
/ Cmd+Shift+P
):
Command |
Description |
Quick Extension Manager: Manage Extensions |
Opens the modern webview interface for extension management |
Quick Extension Manager: Enable Extension Manager |
Activates the extension functionality |
Quick Extension Manager: Disable Extension Manager |
Temporarily disables the extension |
Quick Extension Manager: Update Extension |
Opens marketplace page to check for updates |
Quick Extension Manager: Open GitHub Repository |
View source code and contribute to the project |
Quick Extension Manager: Open Settings |
Access extension configuration options |
Quick Extension Manager: Report Issue |
Submit bug reports or feature requests |
Primary Feature: Extension Management Interface
The "Workspace Extension Manager" opens in a dedicated webview panel with the following capabilities:
Visual Interface:

Key Capabilities:
- Authentic extension icons displaying actual logos from each extension
- Interactive toggle switches for immediate enable/disable functionality
- Real-time pending changes indicator before applying modifications
- Smart filtering that excludes built-in VS Code extensions from the list
- Team-friendly configuration saved to workspace folder for version control
Configuration
The extension automatically creates and manages a .vscode/ext.config.json
file in your workspace root:
{
"disabled": [
"ms-python.python",
"esbenp.prettier-vscode",
"bradlc.vscode-tailwindcss"
],
"autoReload": true,
"openInNewWindow": true
}

Configuration Properties
Property |
Type |
Default |
Description |
disabled |
string[] |
[] |
Array of extension IDs to disable for this workspace |
autoReload |
boolean |
true |
Automatically restart VS Code when applying changes |
openInNewWindow |
boolean |
true |
Open workspace in new window instead of reusing current window |
Tip: Right-click on any extension in the Extensions view and select "Copy Extension ID" to get the exact identifier.
Usage Examples
Team Development Scenarios
- Create project-specific configuration using the extension management interface
- Commit
.vscode/ext.config.json
to your version control repository
- Team members automatically inherit consistent extension setup
- Maintain different profiles for different project types and requirements
Project-Specific Optimization
- Frontend Projects - Disable backend-focused extensions (Python, Java, C++)
- Backend Projects - Disable frontend tooling (React, Vue, Angular extensions)
- Documentation Projects - Keep only writing and markdown extensions active
- Mobile Development - Focus on platform-specific tooling only
- Large Codebases - Reduce extension overhead for faster workspace loading
- Remote Development - Minimize network traffic and latency issues
- Resource-Constrained Environments - Optimize memory and CPU usage
- Focused Development - Eliminate distractions from irrelevant extensions
Technical Implementation
This extension leverages VS Code's official Command Line Interface (CLI) for reliable extension management:
- Configuration Detection - Automatically detects
.vscode/ext.config.json
in workspace
- Command Construction - Builds CLI commands with
--disable-extension
flags
- Process Execution - Launches new VS Code instance with modified extension state
- Workspace Preservation - Maintains current workspace and window configuration
Architecture Overview
The extension follows a modular service-based architecture:
- ExtensionManagerWebviewService - Handles the modern UI interface
- ConfigurationService - Manages loading and validation of workspace settings
- WorkspaceService - Provides workspace path operations and validation
- CommandBuilderService - Constructs VS Code CLI commands with proper arguments
- ExecutionService - Handles command execution and VS Code process management
- UserInteractionService - Manages all user dialogs and notifications
Requirements
- VS Code Version: 1.58.0 or higher
- VS Code CLI Access: Command-line interface must be available in system PATH
- Workspace Context: Extension activates when workspace contains
.vscode/ext.config.json
- Platform Support: Windows, macOS, and Linux
Installation
From VS Code Marketplace
- Open VS Code
- Navigate to Extensions view (
Ctrl+Shift+X
)
- Search for "Quick Extension Manager"
- Click Install
From Command Line
code --install-extension ToolsHive.vscode-quick-extension-manager
Manual Installation
- Download the
.vsix
file from GitHub Releases
- Run
code --install-extension path/to/extension.vsix
Development and Contributing
Project Structure
src/
├── constants.ts # Extension constants and configuration
├── types.ts # TypeScript interfaces and type definitions
├── extension.ts # Main extension entry point
├── managers/
│ └── extensionManager.ts # High-level extension orchestration
└── services/
├── configurationService.ts # Configuration management
├── workspaceService.ts # Workspace operations
├── commandBuilderService.ts # CLI command construction
├── userInteractionService.ts # User interaction handling
├── executionService.ts # Command execution
└── extensionManagerWebviewService.ts # Webview interface
Building from Source
# Clone the repository
git clone https://github.com/ToolsHive/Quick-Extension-Manager.git
# Install dependencies
npm install
# Build the extension
npm run build
# Package for distribution
npm run pkg:build
Contributing Guidelines
- Fork the repository on GitHub
- Create a feature branch from
main
- Make your changes with appropriate tests
- Ensure all existing tests pass
- Submit a pull request with detailed description
Troubleshooting
Common Issues
Extension not activating
- Ensure
.vscode/ext.config.json
exists in workspace root
- Check that VS Code version meets minimum requirements (1.58.0+)
CLI command not found
Configuration not saving
- Check workspace folder write permissions
- Ensure
.vscode
directory exists and is writable
Extensions not disabling properly
- Verify extension IDs are correct (right-click extension → "Copy Extension ID")
- Check that VS Code restarted completely after applying changes
Links and Resources
Changelog
See CHANGELOG.md for detailed release notes and version history.
License
This project is licensed under the MIT License.
Copyright (c) 2025 ToolsHive. All rights reserved.