Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Monorepo Workspace ProfilesNew to Visual Studio Code? Get it now.
Monorepo Workspace Profiles

Monorepo Workspace Profiles

fmonper1

| (0) | Free
Hide unimportant folders in the file explorer using named workspace profiles
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Monorepo Workspace

Focus on what matters. Hide the noise.

Monorepo Workspace lets you define named profiles — curated sets of folders from your apps/ and libs/ directories — and switch between them instantly. Everything else stays hidden in the file explorer until you need it.

Status bar showing active profile


How it works

The extension writes to VS Code's built-in files.exclude setting when you switch profiles. No custom tree views, no workarounds — the native explorer just shows what's relevant to your current context.

Root-level files and folders (tooling, config, CI, etc.) are always visible regardless of the active profile.


Getting started

  1. Open your monorepo in VS Code or Cursor
  2. Run Monorepo: Create Profile from the command palette
  3. Give it a name (e.g. frontend) and select the folders to include
  4. The status bar shows your active profile — click it to switch or peek

Features

Workspace profiles

Define as many profiles as you need, each with its own set of visible folders:

// .vscode/monorepo-workspaces.json
{
  "activeProfile": "frontend",
  "profiles": {
    "frontend": {
      "label": "Frontend",
      "folders": ["apps/web", "libs/ui", "libs/utils"]
    },
    "backend": {
      "label": "Backend",
      "folders": ["apps/api", "libs/db", "libs/shared"]
    }
  }
}

Commit this file to share profiles with your team.

Status bar button

The status bar shows your active profile at a glance with color coding:

  • Accent color — profile active, unimportant folders hidden
  • Orange — peek mode, all folders temporarily visible
  • Default — no profile, all folders shown

Click the button to open the action menu:

Workspace: frontend
> $(eye-closed) Peek          Temporarily show all folders
  $(arrow-swap) Switch Profile
  $(folder-opened) Show All Folders

Peek mode

Need 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 menu

Right-click any folder in the explorer to add or remove it from a profile directly.

Always-visible root folders

Anything at the root that isn't a package directory (apps/, libs/) is always shown — tools/, infra/, .github/, config files, etc.


Configuration

monorepoWorkspace.packageDirs

Directories whose subdirectories are treated as selectable packages.

// .vscode/settings.json
{
  "monorepoWorkspace.packageDirs": ["apps", "libs"]
}

Change this if your monorepo uses different directory names (packages/, services/, etc.). Open Monorepo: Open Settings from the command palette to edit it in the UI.


Commands

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

Profiles live in .vscode/monorepo-workspaces.json. The active files.exclude entries are written to .vscode/settings.json by VS Code when you switch profiles.

Recommended .gitignore practice: commit monorepo-workspaces.json (shared profiles) but leave settings.json out if your team uses different active profiles.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft