Workspace Manager for VS Code
A powerful workspace manager extension for Visual Studio Code that helps you easily access and manage multiple projects. This extension solves common pain points of existing workspace managers by providing advanced features like terminal integration, session management, and keyboard shortcuts.
Features
Core Features
- Easy Project Management: Add, edit, and delete projects with custom names, descriptions, and tags
- Multiple Opening Options: Open projects in current window, new window, or terminal only
- Flexible Storage: Save projects to any JSON file location you prefer
- Smart Organization: Sort projects by name, path, or recency
- Status Bar Integration: See current project at a glance in the status bar
Advanced Features
- Terminal Integration: Open projects directly in integrated or external terminals
- Terminal Session Management: Save and restore terminal sessions per project
- Multiple Terminals: Create and manage multiple terminals for each project
- Keyboard Shortcuts: Assign custom keyboard shortcuts to frequently accessed projects
- Project Tags: Organize projects with custom tags
- Project Descriptions: Add descriptions to better organize your projects
- Quick Access: Use keyboard shortcuts (Ctrl+Alt+P) to quickly open projects
User Interface
- Activity Bar View: Access projects directly from the activity bar
- Side Bar View: Full project management in the sidebar
- Status Bar Indicator: Always know which project is active
- Quick Pick Menu: Fast project selection with search
Installation
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "Workspace Manager"
- Click Install
Or install from command line:
code --install-extension vscode-workspace-manager
Getting Started
Adding Your First Project
- Click on the Workspace Manager icon in the Activity Bar (sidebar)
- Click the + button (Add Project)
- Select your project folder
- Enter a name for your project
- Optionally add description, tags, and keyboard shortcut
- Click to confirm
Opening Projects
There are multiple ways to open your projects:
From the Tree View:
- Right-click on a project for options:
- Open Project (current window)
- Open in New Window
- Open in Terminal
- Open in External Terminal
Using Keyboard Shortcuts:
Ctrl+Alt+P (Cmd+Alt+P on Mac): Quick Open Project
Ctrl+Alt+Shift+P (Cmd+Alt+Shift+P on Mac): Quick Open in New Window
- Or use custom shortcuts you've assigned to projects
From Status Bar:
- Click the project name in the status bar to quickly switch projects
Managing Projects
Edit a Project:
- Right-click on a project → Edit Project
- Modify name, description, tags, or keyboard shortcut
Delete a Project:
- Right-click on a project → Delete Project
- Confirm the deletion
Organize with Tags:
- Add tags when creating or editing projects (e.g., "work", "personal", "javascript")
- Tags are displayed in the project list for easy identification
Terminal Management
Open in Terminal:
- Right-click project → Open in Terminal
- Creates a new terminal at the project root
Create Multiple Terminals:
- Command Palette → "Create New Terminal"
- Or use the terminal menu to create additional terminals
Save Terminal Sessions:
- Command Palette → "Save Terminal Sessions"
- Saves open terminals and their commands
Restore Terminal Sessions:
- Sessions are automatically restored when opening a project (if enabled in settings)
Configuration
Open VS Code Settings (Ctrl+,) and search for "Workspace Manager":
Settings
| Setting |
Default |
Description |
workspaceManager.projectsFilePath |
"" |
Path to projects.json file. Leave empty for default location. |
workspaceManager.showProjectNameInStatusBar |
true |
Show current project name in status bar |
workspaceManager.openInNewWindowWhenClickingStatusBar |
false |
Open project in new window when clicking status bar |
workspaceManager.sortProjectsBy |
"name" |
Sort order: "name", "path", or "recent" |
workspaceManager.terminalSaveOnExit |
true |
Auto-save terminal sessions when closing VS Code |
workspaceManager.terminalRestoreOnOpen |
true |
Auto-restore terminal sessions when opening a project |
workspaceManager.externalTerminalCommand |
"" |
Custom command for external terminal |
Setting Custom Projects File Location
By default, projects are saved in VS Code's global storage. To use a custom location:
- Command Palette → "Set Projects File Location"
- Select a folder or specify a JSON file path
- Reload VS Code
This is useful for:
- Sharing projects across multiple VS Code installations
- Storing in a cloud-synced folder
- Version controlling your project list
The extension stores projects in a JSON file. Here's an example:
{
"version": "1.0.0",
"projects": [
{
"id": "proj_1234567890_abc123",
"name": "My Web App",
"rootPath": "/home/user/projects/webapp",
"description": "React application with Node.js backend",
"enabled": true,
"tags": ["work", "javascript", "react"],
"keyboardShortcut": "ctrl+alt+1",
"lastOpened": 1703275200000,
"terminalSessions": [
{
"id": "term_1234567890",
"name": "Backend Server",
"cwd": "/home/user/projects/webapp",
"commands": ["npm start"]
}
]
}
],
"lastUpdated": 1703275200000
}
You can manually edit this file to:
- Bulk add projects
- Import projects from other tools
- Back up your project list
- Share with team members
Keyboard Shortcuts
| Shortcut |
Action |
Ctrl+Alt+P |
Quick Open Project |
Ctrl+Alt+Shift+P |
Quick Open in New Window |
| Custom per project |
Open specific project (if configured) |
Commands
All commands are available in the Command Palette (Ctrl+Shift+P):
Workspace Manager: Add Project - Add a new project
Workspace Manager: Edit Project - Edit selected project
Workspace Manager: Delete Project - Delete selected project
Workspace Manager: Quick Open Project - Quick open with picker
Workspace Manager: Quick Open in New Window - Quick open in new window
Workspace Manager: Open in Terminal - Open project in integrated terminal
Workspace Manager: Open in External Terminal - Open in external terminal
Workspace Manager: Save Terminal Sessions - Save terminal sessions
Workspace Manager: Restore Terminal Sessions - Restore terminal sessions
Workspace Manager: Create New Terminal - Create a new terminal for current project
Workspace Manager: Set Projects File Location - Change projects.json location
Workspace Manager: Open Projects JSON File - Open projects file for editing
Troubleshooting
Projects not appearing
- Check that the projects file path is correct in settings
- Ensure projects are "enabled" (can be edited to enable/disable)
- Try refreshing the projects view
Terminal sessions not restoring
- Check that "Restore Terminal Sessions" is enabled in settings
- Ensure terminal sessions were saved before closing VS Code
- Check the projects.json file for terminal session data
Status bar not showing project
- Enable "Show Project Name in Status Bar" in settings
- Ensure you have a workspace/folder open in VS Code
What's New
Version 1.0.0
- Initial release
- Full project management (add, edit, delete)
- Multiple opening options (current window, new window, terminal)
- Terminal session management
- Keyboard shortcut support
- Project tags and descriptions
- Status bar integration
- Custom projects file location
- Sorting options (name, path, recent)
Compared to Other Extensions
This extension addresses common issues found in existing workspace managers:
vscode-project-manager Issues Solved:
- ✅ Easier terminal-only project opening
- ✅ Better terminal session management
- ✅ Custom keyboard shortcuts per project
- ✅ More flexible storage options
- ✅ Improved project organization with tags and descriptions
Other Improvements:
- ✅ Cleaner UI with Activity Bar integration
- ✅ Better status bar integration
- ✅ More intuitive project opening options
- ✅ Enhanced terminal support
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
License
MIT License - see LICENSE file for details
Support
If you encounter any issues or have feature requests, please:
- Report issues on GitHub
- Check the documentation
- Review the projects.json file for errors
Credits
Created to improve project management workflow in VS Code.