Wildcard Project ManagerEnglish · Deutsch Manage paths with wildcards. Handy when a single path holds several projects in its subdirectories.
InstallationCurrent version: wildcard-project-manager-1.0.3.vsix In VS Code press How it worksInstead of listing individual projects you define groups. Each group has a name and a list of paths. A path ending in JSON configuration
|
| 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'shiddenlist; the message afterwards offersUndo.Show/hide hidden entries: eye icon on the group (appears on hover, and only if the group has any
hiddenentries at all). While hidden projects are visible,showing hiddenappears next to the group name and the affected entries are markedhiddenand greyed out. Right-click such an entry →Show Projectremoves it fromhiddenpermanently.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 thecollapsedfield in the configuration.Customize the icon: right-click a project →
Icon. FirstIcon Coloras a submenu: eight common colors directly selectable,More Colors…for the full palette with a real color preview, andCustom Color ID…for any theme color. The emoji in the menu are only approximations — menus cannot render real icons, lists can. ThenChange Icon…for the icon list andReset 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 undersettingsin the group (icon-imageandicon-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.jsonnext to the configuration. If a path becomes unreachable later, the group shows that state instead of an empty list – markedfrom 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