/vscode-project-manager

Project Manager Extension for Visual Studio Code

Primary LanguageTypeScriptMIT LicenseMIT

Functionality

Manage your projects right inside Visual Studio Code. Easily access and switch between them.

You can define your own Favorite projects, and auto-detect VSCode projects, Git and SVN repositories.

Installation

Press F1 in VSCode, type ext install and then look for Project Manager.

Usage

Available commands

  • Project Manager: Edit Project Edit the project list (projects.json file) directly inside Code
  • Project Manager: List Projects to Open List all saved projects and pick one
  • Project Manager: List Projects to Open in New Window List all saved projects and pick one to be opened in New Window
  • Project Manager: Refresh Projects Refresh the cached projects (VSCode, Git and SVN)
  • Project Manager: Save Project Save the current project in the manager

Commands

Save Project

You can save the current project in the manager at any time. You just need to type a name. It even suggest you automatically :)

Save

Edit Projects

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",
        "paths": [],
        "group": ""
    },
    {
        "name": "Bookmarks",
        "rootPath": "$home\\Documents\\GitHub\\vscode-bookmarks",
        "paths": [],
        "group": ""
    },
    {
        "name": "Numbered Bookmarks",
        "rootPath": "$home\\Documents\\GitHub\\vscode-numbered-bookmarks",
        "paths": [],
        "group": ""
    }
]

For now, only name and rootPath are usefull. The paths and group fields are there to be used in the future by two new features: Support multiple folders in the same project and Contextual Structure for Projects .

You can use a special variable called $home while defining any path. It's useful if you sync your projects between different machines, because it will be replaced by the 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 File button to fix it.

Corrupted

List Projects to Open

Shows your projects and select one to open. Depending on projectManager.openInNewWindow setting, it will replace the current VS Code instance, or open a new one.

List Projects to Open in New Window

Just like List Projects but always opening in New Window.

Available settings

Sort the Project List

Allow you to choose how the projects are sorted in List Projects command. You can choose:

  • Saved: The order that you saved the projects
  • Name: The name that you typed for the project
  • Path: The full path of the project
  • Recent: The recently used projects
    "projectManager.sortList": "Name"

List

Open a New Window

Define if you want to open a New Window or just switch the current (default is true)

    "projectManager.openInNewWindow": true

Projects Location

If 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 for the projects.json file.

    "projectManager.projectsLocation": "C\\Users\\myUser\\AppData\\Roaming\\Code\\User"

Automatic Detection of Projects

You can have automatic detection of VSCode vscode Git git and SVN svn projects. For this, you just have to indicate a list of folders where each kind of project is located.

    "projectManager.vscode.baseFolders": [
        "c:\\VSCodeProjects\\code",
        "d:\\MoreVSCodeProjects\\code-testing"
    ]

Git and SVN has similar settings (projectManager.git.baseFolders and projectManager.svn.baseFolders respectively)

To customize how deep to look projects or folders to be ignored you have two additional settings:

    "projectManager.vscode.ignoredFolders": [
        "node_modules", 
        "out", 
        "typings", 
        "test"
    ],
    "projectManager.vscode.maxDepthRecursion": 4

Git and SVN also has similar settings (projectManager.git.ignoredFolders, projectManager.git.maxDepthRecursion, projectManager.svn.ignoredFolders and projectManager.svn.maxDepthRecursion respectively)

Cache Automatically Detected Projects

new in version 0.13.0

By default, the automatically detected projects (VSCode, Git and SVN) are cached. If you don't want this for any reason, just turn it off.

    "projectManager.cacheProjectsBetweenSessions": false

Display Project Name in Status Bar

new in version 0.12.0

You have the option to display the Project Name in the Status Bar, so you can easily detect in which project you are.

    "projectManager.showProjectNameInStatusBar": true

Save

Participate

If you have any idea, feel free to create issues and pull requests

License

MIT © Alessandro Fragnani


Paypal Donations a ☕ if you enjoy using this extension 👍