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.
- 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
- Per-workspace configuration allowing different extension sets for each project
- Team collaboration through shareable
.vscode/ext.config.jsonfiles - 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
- 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
- Install the extension from the VS Code Marketplace
- Open Command Palette with
Ctrl+Shift+P(Windows/Linux) orCmd+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
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 |
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
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
}| 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.
- Create project-specific configuration using the extension management interface
- Commit
.vscode/ext.config.jsonto your version control repository - Team members automatically inherit consistent extension setup
- Maintain different profiles for different project types and requirements
- 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
This extension leverages VS Code's official Command Line Interface (CLI) for reliable extension management:
- Configuration Detection - Automatically detects
.vscode/ext.config.jsonin workspace - Command Construction - Builds CLI commands with
--disable-extensionflags - Process Execution - Launches new VS Code instance with modified extension state
- Workspace Preservation - Maintains current workspace and window configuration
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
- 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
- Open VS Code
- Navigate to Extensions view (
Ctrl+Shift+X) - Search for "Quick Extension Manager"
- Click Install
code --install-extension ToolsHive.vscode-quick-extension-manager- Download the
.vsixfile from GitHub Releases - Run
code --install-extension path/to/extension.vsix
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
# 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- 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
Extension not activating
- Ensure
.vscode/ext.config.jsonexists in workspace root - Check that VS Code version meets minimum requirements (1.58.0+)
CLI command not found
- Verify VS Code CLI is installed and available in system PATH
- Follow the official setup guide
Configuration not saving
- Check workspace folder write permissions
- Ensure
.vscodedirectory 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
- GitHub Repository: ToolsHive/Quick-Extension-Manager
- VS Code Marketplace: Quick Extension Manager
- Issue Tracker: Report Issues
- Feature Requests: Submit Ideas
- VS Code CLI Documentation: Command Line Interface
See CHANGELOG.md for detailed release notes and version history.
This project is licensed under the MIT License.
Copyright (c) 2025 ToolsHive. All rights reserved.


