Monorepo WorkspaceFocus on what matters. Hide the noise. Monorepo Workspace lets you define named profiles — curated sets of folders from your
How it worksThe extension writes to VS Code's built-in Root-level files and folders (tooling, config, CI, etc.) are always visible regardless of the active profile. Getting started
FeaturesWorkspace profilesDefine as many profiles as you need, each with its own set of visible folders:
Each developer keeps their own active profile locally:
Commit the shared file to publish profiles with your team. Add the local file to Status bar buttonThe status bar shows your active profile at a glance with color coding:
Click the button to open the action menu:
Peek modeNeed to quickly look at a folder outside your profile? Hit Peek from the status bar menu. All hidden folders reappear temporarily. Click Restore to go back to your profile. Context menuRight-click any folder in the explorer to add or remove it from a profile directly. Always-visible root foldersAnything at the root that isn't a package directory ( Configuration
|
| Command | Description |
|---|---|
Monorepo: Switch Profile |
Switch to a different profile |
Monorepo: Create Profile |
Create a new profile |
Monorepo: Delete Profile |
Delete an existing profile |
Monorepo: Add Folder to Profile |
Add a folder to a profile via quick pick |
Monorepo: Toggle Peek |
Show/hide all folders temporarily |
Monorepo: Show All Folders |
Clear the active profile |
Monorepo: Open Settings |
Open extension settings |
Monorepo: Edit Config |
Open the raw config file |
How profiles are stored
| File | Commit? | Contents |
|---|---|---|
.vscode/monorepo-workspaces.json |
Yes | Shared profile definitions |
.vscode/monorepo-workspaces.local.json |
No | Your active profile (auto-created on first switch) |
When you switch profiles, the extension writes files.exclude and search.exclude into .vscode/settings.json. If your team also gitignores workspace settings, add this to your monorepo's .gitignore:
.vscode/monorepo-workspaces.local.json
Existing single-file configs are migrated automatically: activeProfile is moved into the local file and stripped from the shared file on next read.
