saurabhdaware / Projectman
Programming Languages
Projects that are alternatives of or similar to Projectman
ProjectMan🦸
ProjectMan is a CLI which lets you add projects to favorites using command pm add
and open them from anywhere you want using command pm open
.
Along with this there are also other commands like pm seteditor
, pm remove
, cd $(pm getpath)
mentioned in documentation below.
# Installation
## Using NPM
If you have NodeJS installed in your machine
npm install -g projectman
OR
## Download Binaries
# Commands
pm
is an alias of projectman
so you can use pm <command>
or projectman <command>
## Open Project
Usage :
pm open [projectName]
[projectName]
is an optional parameter.
Alias: pm o
, pm
v1.3.0 onwards, after typing pm open
you can start typing letters and it will autocomplete the project name.
## Add project
cd /till/the/project
pm add
## Add URL
Added in v1.3.0.
pm add --url
This command can be used to save your repositories/websites/any other important links.
These links will show up in normal pm open
with (URL)
appended to their name.
## Set Editor
pm seteditor
Sets default editor to open projects from.
Flag: --for-project
pm seteditor --for-project
Sets different editor for a specific project.
E.g You can use VSCode for other projects and Atom for CoolProject1
If your TextEditor/IDE is not listed, You can select option Other
from the list and give your editorCommand
.
Read editorCommand ref for more information.
cd
to a project without opening.
## cd $(pm getpath [projectName])
[projectName]
is an optional parameter.
Alias : cd $(pm gp)
(Note: This does not work in Windows cmd, You can use it in Windows Powershell)
## Remove Project
pm remove
Removes project from favorites.
## Remove editor
pm rmeditor
Shows list of project and removes the project specific editor from the project.
pm rmeditor --all
removes all project specific editors.
Settings.json
If you want to sort projects/change name of project/change path, You can type pm edit
to open settings.json
Example settings:
{
"commandToOpen": "code",
"projects": [
{
"name": "Project1",
"path": "path/to/project1"
},
{
"name": "Project2",
"path": "path/to/project2",
"editor": "atom"
},
{
"name": "Project3",
"path": "path/to/project3"
}
]
}
This will show three projects in pm open
and project2 will be opened in Atom and other projects will be opened in Visual Studio Code
Settings Ref:
> commandToOpen :
- This is your editor's command, this command will be used to open the file in your editor.
- Default is
code
which opens in vscode. - This is the command that you normally use to open directories in your editor.
Editor | 'commandToOpen' value |
---|---|
VSCode | code |
Atom | atom |
Sublime | subl |
Vim | vim |
WebStorm | wstorm |
> projects. name :
- This is the name that will be visible when you type
projectman open
> projects. path :
- This should be the absolute path to your folder.
> projects. editor :
- This is optional key. In case it doesn't exist it will read value from
commandToOpen
- You can use this to specify separate editor for a particular project.
- You can set it by adding
"editor": "<commandToOpen>"
in projects array in settings.json (Example is shown above)
ChangeLogs
v1.3.3 [LATEST RELEASE]
Command suggestions added (Thanks @jamesgeorge007 for #PR32)
. . . For More Changes read CHANGELOG.md
Rust Port
@hskang9 has made a pretty cool rust port for projectman. You can check it out at: https://github.com/hskang9/projectman-rust
Contributing to ProjectMan
I would be extremely happy to have people contribute to ProjectMan. You can read Contribution guidelines in CONTRIBUTING.md
Thank you for showing Interest! Do contribute and star ProjectMan🦸 on GitHub