• Stars
    star
    1,718
  • Rank 27,170 (Top 0.6 %)
  • Language
    TypeScript
  • License
    GNU General Publi...
  • Created almost 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Project Manager Extension for Visual Studio Code


Project Manager Logo

What's new in Project Manager 12.7

  • Organize your projects with Tags
  • Adds Virtual Workspaces support
  • Adds Workspace Trust support
  • Improved Side Bar usability
  • Full Remote Development support
  • Adds Symlink support

Support

Project Manager is an extension created for Visual Studio Code. If you find it useful, please consider supporting it.

Sponsors


Eliminate context switching and costly distractions. Create and merge PRs and perform code reviews from inside your IDE while using jump-to-definition, your keybindings, and other IDE favorites.
Learn more


Project Manager

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:

  • Save any folder or workspace as a Project
  • Auto-detect Git, Mercurial or SVN repositories
  • Organize your projects using Tags
  • Open projects in the same or new window
  • Identify deleted/renamed projects
  • A Status Bar which identifies the current project
  • A dedicated Side Bar

Features

Available Commands

  • Project Manager: Save Project Save the current folder/workspace as a new project
  • Project Manager: Edit Project Edit your projects manually (projects.json)
  • Project Manager: List Projects to Open List all saved/detected projects and pick one
  • Project Manager: List Projects to Open in New Window List all saved/detected projects and pick one to be opened in New Window
  • Project Manager: Filter Projects by Tag Filter the Favorite projects by selected tags

Manage your projects

Save Project

You can save the current folder/workspace as a Project at any time. You just need to type its name.

Save

It suggests a name to you automatically :)

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",
        "tags": [],
        "enabled": true
    },
    {
        "name": "Bookmarks",
        "rootPath": "$home\\Documents\\GitHub\\vscode-bookmarks",
        "tags": [
            "Personal",
            "VS Code"
        ],
        "enabled": true
    },
    {
        "name": "Numbered Bookmarks",
        "rootPath": "~\\Documents\\GitHub\\vscode-numbered-bookmarks",
        "tags": [
            "Personal",
            "VS Code"
        ],
        "enabled": false
    }
]

You can use ~ or $home while 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 File button to fix it.

Corrupted

Access

List Projects to Open

Shows your projects and select one to open.

List Projects to Open in New Window

Just like List Projects but always opening in New Window.

Keyboard Focused Users

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": "ctrl+j",
        "command": "workbench.action.quickOpenSelectNext",
        "when": "inProjectManagerList"
    }

Working with Remotes

The extension support Remote Development scenarios, and you may choose how to use it, depending on your needs

I access Remotes, but most of my work is Local

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

But what if I do most of my work on Remotes

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

Available Settings

You can choose how your projects are sorted

  • 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

  • Choose if the project list must be grouped by its kind (Favorites, Git, Mercurial, SVN and VS Code).
    "projectManager.groupList": true
  • Should the current project be removed from the list? (false by default)
    "projectManager.removeCurrentProjectFromList": true
  • Should identify invalid paths on project list? (true by default)
    "projectManager.checkInvalidPathsBeforeListing": false
  • Should support symlinks on baseFolders? (false by default)
    "projectManager.supportSymlinksOnBaseFolders": true
  • Should show the parent folder info when projects with same name are detected? (false by default)
    "projectManager.showParentFolderInfoOnDuplicates": true
  • Filter Projects Through Full Path (false by default)
    "projectManager.filterOnFullPath": true
  • Custom projects file (projects.json) 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"

You can use ~ or $home while defining the path. It will be replaced by your HOME folder.

  • Automatic Detection of Projects (Git git, Mercurial git, SVN svn and VSCode vscode)
    "projectManager.git.baseFolders": [
        "c:\\Projects\\code",
        "d:\\MoreProjects\\code-testing",
        "$home\\personal-coding"
    ]

Define the folders which contains the projects

    "projectManager.git.ignoredFolders": [
        "node_modules", 
        "out", 
        "typings", 
        "test"
        "fork*"
    ],

Define which folders should be ignored (inside the BaseFolders).

It supports glob patterns

    "projectManager.git.maxDepthRecursion": 4

Define how deeps it should search for projects

  • Should ignore projects found inside other projects? (false by default)
    "projectManager.ignoreProjectsWithinProjects": true
  • Cache automatically detected projects (true by default)
    "projectManager.cacheProjectsBetweenSessions": false
  • Display the Project Name in Status Bar (true by default)
    "projectManager.showProjectNameInStatusBar": true
  • Open projects in New Window when clicking in status bar (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 Palette
    • onlyUsingSideBar: Only open in the current window if you use the Side Bar
    • never: Works as today. The Open in New Window command will always open in New Window
    "projectManager.openInCurrentWindowIfEmpty": "always"
  • Indicates the list of tags you can use to organize your projects (Personal and Work by default)
    "projectManager.tags": [
        "Personal", 
        "Work",
        "VS Code",
        "Learning"
    ]

Side Bar

The Project Manager extension has its own Side Bar, with a variety of commands to improve you productivity.

Side Bar

Project Tags - View and Filter

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.

Side Bar

Installation and Configuration

You should follow the official documentation to:

License

GPL-3.0 © Alessandro Fragnani

More Repositories

1

vscode-bookmarks

Bookmarks Extension for Visual Studio Code
TypeScript
1,482
star
2

vscode-language-pascal

Pascal language extension for Visual Studio Code
TypeScript
189
star
3

vscode-numbered-bookmarks

Numbered Bookmarks Extension for Visual Studio Code
TypeScript
132
star
4

delphi-james

James - The Delphi Project Manager
Pascal
48
star
5

vscode-separators

Separators Extension for Visual Studio Code
TypeScript
28
star
6

vscode-whats-new

VS Code submodule for a What's New page
TypeScript
27
star
7

vscode-jenkins-status

Jenkins Status Extension for Visual Studio Code
TypeScript
27
star
8

vscode-pascal-formatter

Pascal formatter extension for Visual Studio Code
TypeScript
26
star
9

atom-language-pascal

Pascal language support in Atom
26
star
10

vscode-read-only-indicator

Read-Only Indicator Extension for Visual Studio Code
TypeScript
25
star
11

vscode-delphi-pack

Delphi Extension Pack for Visual Studio Code
23
star
12

vscode-language-rtf

RTF Language Extension for Visual Studio Code
TypeScript
23
star
13

delphi-generator-delphi

Yeoman generator for Delphi projects
JavaScript
13
star
14

delphi-code-templates

Code Templates for Delphi
12
star
15

vscode-settings

My personal Visual Studio Code settings
11
star
16

vscode-copy-word

Copy Word Extension for Visual Studio Code
TypeScript
10
star
17

vscode-delphi-keybindings

Delphi Keybindings for Visual Studio Code
TypeScript
9
star
18

vscode-delphi-themes

Delphi Themes for Visual Studio Code
8
star
19

vscode-tagged-comment

Tagged Comment Extension for Visual Studio Code
TypeScript
7
star
20

atom-useful-context-menu

A set of useful context menu actions for Atom
CoffeeScript
7
star
21

delphi-samples

A collection of delphi samples
Pascal
5
star
22

Sublime-Ant-Buildfile

A Sublime Text build system for running ANT for the active XML file, even if it is not named build.xml
3
star
23

delphi-dite-vscode-theme

Visual Studio Code theme for DITE
3
star
24

atom-tagged-comment

An easy way to add personalized comments to your code
CoffeeScript
2
star
25

vscode-ext-help-and-feedback-view

NPM Package which provides a Help and Feedback View for VS Code extensions
TypeScript
2
star
26

atom-code-dark-syntax

A dark syntax theme based on Visual Studio Code, with some tweaks
Less
2
star
27

vscode-ext-codicons

NPM Package with helper functions to work with "codicons" while developing VS Code extensions
TypeScript
2
star
28

vscode-test-web-workspace

VS Code web-ready extension sample
TypeScript
1
star
29

toggle-delphi-file

Sublime plugin to toggle between Delphi files
Python
1
star
30

atom-read-only-indicator

Adds and indicator to the status bar showing if a file is read-only or writeable
CoffeeScript
1
star
31

vscode-try-extensions-on-codespaces

Try VS Code extensions on Codespaces
Pascal
1
star
32

delphi-squad-demo

Exemplo usado na apresentação do Delphi Squad Floripa
Pascal
1
star
33

delphi-dunit-agiledoxtestrunner

Agiledox output format
Pascal
1
star
34

atom-settings

My personal Atom settings
CSS
1
star