Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Wildcard Project ManagerNew to Visual Studio Code? Get it now.
Wildcard Project Manager

Wildcard Project Manager

dipser

|
2 installs
| (0) | Free
Manage multiple projects in subdirectories using wildcards.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Wildcard Project Manager

VS Code Marketplace Open VSX Version License: MIT GitHub stars GitHub issues

Wildcard Project Manager

English · Deutsch

Manage paths with wildcards. Handy when a single path holds several projects in its subdirectories.

Sidebar showing two groups and their projects

Installation

Current version: wildcard-project-manager-1.0.3.vsix
For older versions see releases/

In VS Code press Ctrl+Shift+P and choose "Extensions: Install from VSIX...". Then press Ctrl+Shift+P again and choose "Developer: Reload Window".

How it works

Instead of listing individual projects you define groups. Each group has a name and a list of paths. A path ending in * is scanned as a directory – every subdirectory found becomes a project in the list automatically. Wildcards may appear in any segment: /var/www/*/* walks two levels and files the matches under one expandable node per parent directory.

JSON configuration projects.json

[
  {
    "name": "Remote Server",
    "paths": ["vscode-remote://ssh-remote+externalserver/var/www/*"],
    "hidden": [],
    "order": 1
  },
  {
    "name": "Local",
    "paths": ["file:///home/user/projects/*"],
    "hidden": ["node_modules", ".old-*"],
    "order": 2,
    "collapsed": true,
    "settings": {
      "shop": { "icon-image": "rocket", "icon-color": "charts.red" }
    }
  }
]
Field Description
name Group name in the sidebar
paths List of URIs or plain paths. A * may appear in any segment; every matching subdirectory is listed as a project. Without a wildcard the path itself becomes a single project.
hidden Optional. Directory names (* allowed) to exclude from the scan result. With multi-level patterns an entry may name any level: domain.com hides that whole expandable node, domain.com/logs a single entry, and the bare logs every folder of that name under any domain.
order Optional. Can also be reordered by drag & drop.
collapsed Optional. Group starts expanded or collapsed.
settings Optional. Settings per directory name (* allowed): icon-image = codicon ID, icon-color = theme color ID.

Local and remote path formats

  • /var/www/*
  • C:\Projects\*
  • file:///var/www/*
  • vscode-remote://ssh-remote+<host>/…
  • vscode-remote://wsl+…
  • vscode-remote://dev-container+…

Wildcards

* matches any number of characters and is the only wildcard. A * always stays within one directory – it never skips a level. In exchange every segment of a path may carry a wildcard, and the path is then walked level by level.

Several levels

Typical for Plesk servers, where each domain holds its subdomains:

{ "name": "Server", "paths": ["/var/www/*/*"], "hidden": ["logs", "conf", "httpdocs", ".*"] }
▾ Server
  ▾ domain1.com
      sub1.domain1.com
      sub2.domain1.com
  ▸ domain2.com

Every wildcard level except the last becomes an expandable node. Clicking it only expands and collapses; the directory itself opens from the context menu or the Open in New Window button. Expandable nodes start collapsed, after which VS Code remembers their state.

The full project name is composed of every level from the first wildcard onwards (domain1.com/sub1.domain1.com) – the fixed prefix before it is not part of the name, and the tree shows only the last level anyway. That full name is the key for hidden and settings, so it stays unambiguous even when two domains share a subdirectory name.

Right-clicking an expandable node offers Hide Project just like a project does; the entry written to hidden is then the node's own path (domain2.com), which hides everything below it. While hidden entries are shown, such a node appears greyed out and can be brought back from its context menu.

Fixed segments after a wildcard work too: /var/www/*/httpdocs finds the document root of every domain. Subdirectories that cannot be read – on Plesk quite a few belong to root – are skipped and counted as a note at the end of the group; the remaining domains are unaffected.

Cache projects-cache.json

The cache is refreshed on every successful load.

Features

  • Open the sidebar: click the Wildcard Project Manager icon in the activity bar.

  • Edit the configuration: gear icon at the top of the view, or the command Wildcard Project Manager: Edit Configuration. The file lives in the extension's global storage and is created with an example on first use.

  • Open a project: clicking an entry asks for confirmation and then opens it in the current window. When the sidebar is opened for the first time, the currently open project is revealed and selected automatically.

  • Open in a new window: context menu / inline action on the entry – without a confirmation prompt.

  • Hide a project: right-click a project → Hide Project. The name moves into the group's hidden list; the message afterwards offers Undo.

  • Show/hide hidden entries: eye icon on the group (appears on hover, and only if the group has any hidden entries at all). While hidden projects are visible, showing hidden appears next to the group name and the affected entries are marked hidden and greyed out. Right-click such an entry → Show Project removes it from hidden permanently.

  • Reorder groups: drag & drop groups – this rewrites order. Projects cannot be dragged, they follow from the path patterns.

  • Collapse a group by default: right-click a group → Collapse Group by Default (or … Expand …). This sets the collapsed field in the configuration.

  • Customize the icon: right-click a project → Icon. First Icon Color as a submenu: eight common colors directly selectable, More Colors… for the full palette with a real color preview, and Custom Color ID… for any theme color. The emoji in the menu are only approximations — menus cannot render real icons, lists can. Then Change Icon… for the icon list and Reset Icon. The icon list shows around 90 codicons, grouped and rendered in the configured color; typing filters them. Custom codicon ID… gives access to any ID from the official overview. Everything is stored under settings in the group (icon-image and icon-color).

    The icon deliberately stays a list rather than a submenu: VS Code reads menus statically from package.json, and every entry needs its own command. That pays off for eight colors, but not for 90 icons.

  • Find a project: the magnifier at the top of the view filters groups and projects by name or path; the filter icon next to it clears the filter.

  • Cache: after every successful load the extension writes the projects it found to projects-cache.json next to the configuration. If a path becomes unreachable later, the group shows that state instead of an empty list – marked from cache. The file may be deleted at any time.

  • Refresh: refresh icon at the top of the view, needed for example after creating new directories remotely (the configuration file itself is reloaded automatically on save).

Language

The user interface is English by default and follows VS Code's display language. It is translated into all fourteen languages VS Code ships a language pack for: Chinese (Simplified), Chinese (Traditional), Czech, French, German, Hungarian, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Spanish and Turkish. This documentation exists in English and German.

Development & testing

Build

npm install
npm run compile
npm run package   # writes the .vsix into releases/
code --install-extension releases/wildcard-project-manager-1.0.3.vsix

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft