Browse by type
Project Manager is an extension created for Visual Studio Code. If you find it useful, please consider supporting it.
|
|
|
It helps you to easily access your projects, no matter where they are located. Don't miss those important projects anymore.
You can define your own Projects (also called Favorites), or choose for auto-detect Git, Mercurial or SVN repositories, VSCode folders, or any other folder.
Here are some of the features that Project Manager provides:
Project Manager: Save Project Save the current folder/workspace as a new projectProject Manager: Edit Project Edit your projects manually (projects.json)Project Manager: List Projects to Open List all saved/detected projects and pick oneProject Manager: List Projects to Open in New Window List all saved/detected projects and pick one to be opened in New WindowProject Manager: Filter Projects by Tag Filter the Favorite projects by selected tagsYou can save the current folder/workspace as a Project at any time. You just need to type its name.

It suggests a name to you automatically :)
For easier customization of your project list, you can edit the projects.json file, directly inside Code. Just execute Project Manager: Edit Projects and the projects.json file is opened. Simple as this:
[
{
"name": "Pascal MI",
"rootPath": "c:\\PascalProjects\\pascal-menu-insight",
"tags": [],
"enabled": true,
"profile": "Delphi"
},
{
"name": "Bookmarks",
"rootPath": "$home\\Documents\\GitHub\\vscode-bookmarks",
"tags": [
"Personal",
"VS Code"
],
"enabled": true,
"profile": "VSCode"
},
{
"name": "Numbered Bookmarks",
"rootPath": "~\\Documents\\GitHub\\vscode-numbered-bookmarks",
"tags": [
"Personal",
"VS Code"
],
"enabled": false,
"profile": "VSCode"
}
]
You can use
~or$homewhile defining any path. It will be replaced by your HOME folder.Be sure that the JSON file is well-formed. Otherwise, Project Manager will not be able to open it, and an error message like this should appear. In this case, you should use the
Open Filebutton to fix it.

Shows your projects and select one to open.
Just like List Projects but always opening in New Window.
If you are a keyboard focused user and uses Vim like keyboard navigation, you can navigate thru the project list with your own keybindings.
Just use the when clause "inProjectManagerList", like:
{
"key": "cmd+j",
"command": "workbench.action.quickOpenSelectNext",
"when": "inProjectManagerList && isMac"
},
{
"key": "cmd+shift+j",
"command": "workbench.action.quickOpenSelectPrevious",
"when": "inProjectManagerList && isMac"
},
{
"key": "ctrl+j",
"command": "workbench.action.quickOpenSelectNext",
"when": "inProjectManagerList && (isWindows || isLinux)"
},
{
"key": "ctrl+shift+j",
"command": "workbench.action.quickOpenSelectPrevious",
"when": "inProjectManagerList && (isWindows || isLinux)"
}
The extension support Remote Development scenarios, and you may choose how to use it, depending on your needs
This is the regular scenario, and that's why you don't need to do anything special for the extension to work. It works out of the box.
When installed locally, you can save any Container, SSH, WSL or Codespaces projects as Favorites. Each one will have its own icon to be properly identified, and when you select them, VS Code will open the remote automatically.
It just works
If you normally connect to remotes (like SSH/WSL) and would like to save Favorite projects on that remote, or to be able to auto-detect repos located on that remote, you must activate/install the extension to work on remotes.
You just have to add the lines below on your User Settings.
"remote.extensionKind": {
"alefragnani.project-manager": [
"workspace"
]
},
More details on VS Code documentation
You can choose how your projects are sorted
Saved: The order that you saved the projectsName: The name that you typed for the projectPath: The full path of the projectRecent: The recently used projects "projectManager.sortList": "Name"

"projectManager.groupList": true
false by default) "projectManager.removeCurrentProjectFromList": true
true by default) "projectManager.checkInvalidPathsBeforeListing": false
baseFolders? (false by default) "projectManager.supportSymlinksOnBaseFolders": true
false by default) "projectManager.showParentFolderInfoOnDuplicates": true
false by default) "projectManager.filterOnFullPath": true
projects.json) locationIf you intend to share projects between Stable and Insider installations, or if you store your settings in different locations (cloud services), you can indicate an alternative location (folder path) for the projects.json file.
"projectManager.projectsLocation": "C\\Users\\myUser\\AppData\\Roaming\\Code\\User"
You can use
~or$homewhile defining the folder path. It will be replaced by your HOME folder.
, Mercurial
, SVN
and VSCode
) "projectManager.git.baseFolders": [
"c:\\Projects\\code",
"d:\\MoreProjects\\code-*",
"$home\\personal-coding"
]
Indicates folders or glob patterns to search for projects
"projectManager.git.ignoredFolders": [
"node_modules",
"out",
"typings",
"test"
"fork*"
],
Indicates folders or glob patterns to be ignored when searching for projects
"projectManager.git.maxDepthRecursion": 4
Define how deeps it should search for projects
false by default) "projectManager.any.excludeBaseFoldersFromResults": true
When enabled, the Any base folders configured in
projectManager.any.baseFoldersare not returned as projects themselves, only their matching subfolders are.
false by default) "projectManager.ignoreProjectsWithinProjects": true
true by default) "projectManager.cacheProjectsBetweenSessions": false
true by default) "projectManager.showProjectNameInStatusBar": true
false by default) "projectManager.openInNewWindowWhenClickingInStatusBar": true
Indicates if the New Window command should open the project in current window, when empty (always by default)
always: Whenever you call the Open in New Window command, it will open in the current window, if empty
onlyUsingCommandPalette: Only open in the current window if you use the Command PaletteonlyUsingSideBar: Only open in the current window if you use the Side Barnever: Works as today. The Open in New Window command will always open in New Window "projectManager.openInCurrentWindowIfEmpty": "always"
Personal and Work by default) "projectManager.tags": [
"Personal",
"Work",
"VS Code",
"Learning"
]
Controls how tag groups in the Favorites view are expanded or collapsed, and whether their state is remembered (startExpanded by default)
alwaysExpanded: Tag groups are always expanded
alwaysCollapsed: Tag groups are always collapsedstartExpanded: Tag groups start expanded and remember your last expand/collapse statestartCollapsed: Tag groups start collapsed and remember your last expand/collapse state "projectManager.tags.collapseItems": "startExpanded"
"workbench.colorCustomizations": {
"projectManager.sideBar.currentProjectHighlightForeground": "#e13015"
}
The Project Manager extension has its own Side Bar, with a variety of commands to improve your productivity.

Starting in v12.3, you can now organize your Projects with Tags.
You can define your custom tags (via projectManager.tags setting), define multiple tags for each project, and filter the projects baded on their tags.

You should follow the official documentation to:
GPL-3.0 © Alessandro Fragnani
$ claude mcp add vscode-project-manager \
-- python -m otcore.mcp_server <graph>