felipecaputo / git-project-manager Goto Github PK
View Code? Open in Web Editor NEWA Git Project Manager extension for vsCode
License: MIT License
A Git Project Manager extension for vsCode
License: MIT License
I store all my git projects inside ~/projects
. So naturally for me I don't need to select the projects folder as I've provided it to GPM and it's the only one, it would be a nice enhancement if this value would be accepted without needing me to confirm it once more in the dialog.
Steps to reproduce:
"gitProjectManager.baseProjectsFolders": [ "~/Projects/" ],
in the VSCode user prefsctrl+alt P
I use GitHub Desktop so few projects in the default: C:\Users\leom\Documents\GitHub
So added to settings.json: "gitProjectManager.baseProjectsFolders": [ "C:\\Users\\leom\\Documents\\GitHub" ]
.
I've tried adding option 1: "gitProjectManager.codePath": "C:\\Program Files (x86)\\Microsoft VS Code\\bin\\code.cmd"
And replacing with option 2: "gitProjectManager.codePath" : { "windows": "C:\\Program Files (x86)\\Microsoft VS Code\\bin\\code.cmd" }
And replacing with option 3: "gitProjectManager.codePath" : [ "C:\\Program Files (x86)\\Microsoft VS Code\\bin\\code.cmd" ]
But still just hangs searching for the Git Projects :(
Any ideas?
Cheers
OS: Windows 10 Ult x64
Git Project Manager: 1.0.0
VS Code: 1.7.2
I code on 3 platforms so my gitProjectManager.baseProjectsFolders
looks similar to this:
"gitProjectManager.baseProjectsFolders": [
"C:\\Users\\Daniel\\Documents\\dev",
"/home/daniel/dev"
]
I see this when paths don't exist on the current computer:
Related: #13
Here is my config:
{
"gitProjectManager.baseProjectsFolders": [
"/home/xxx/project",
"/home/xxx/.golang/src"
],
"gitProjectManager.ignoredFolders": [
"node_modules",
"vendor"
],
"gitProjectManager.maxDepthRecursion": 3,
"gitProjectManager.recentProjectsListSize": 10,
"gitProjectManager.searchInsideProjects": false,
"gitProjectManager.storeRepositoriesBetweenSessions": true
}
➜ src ls -d */*/*/ | wc -l
94
➜ project ls | wc -l
63
GPM Version 1.2.0
storeRepositoriesBetweenSessions
is set to true
Edit:
gpm: refresh projects
project list refreshed
appears immediately in the statusbargpm: refresh projects
againSteps to reproduce:
Consider the following structure:
/a/b/.git
/a/c/.git
gitProjectManager.baseProjectsFolders
to /a
/a/b
and /a/c
appear correctlygitProjectManager.baseProjectsFolders
to /a/b
/a/c
is still showingRight now if there are projects already cached and gitProjectManager.baseProjectsFolders
is changes in settings you explicitly need to refresh the projects or reload vscode.
Due to a typo in package.json where the test script is defined as "teste"
the tests aren't actually running https://travis-ci.org/felipecaputo/git-project-manager/jobs/160747745
I believe they are failing right now because they rely on < v1.0 of vscode.
You're generally not meant to check in releases, https://github.com/felipecaputo/git-project-manager/releases is the ideal place to stick these if you want to distribute this way.
Currently there is no way to repopulate the list when cache is enabled. 🌷
As sugested by @martinpengellyphillips in issue #2
I have several user names across various computers, in order to only specify a single project folder for Windows and non-Windows I need environment variables to be resolved in gitProjectManager.baseProjectsFolders
. For example I would like to do this:
"gitProjectManager.baseProjectsFolders": [
"%USERPROFILE%\\Documents\\dev",
"~/dev"
]
I get this message:
Directory %USERPROFILE%\Documents\dev does not exists.
I have 20 directories, so it should only take a few milliseconds for GPM to list the contents of all of those directories, see a .git folder, and then list projects. However, it takes quite a bit longer because GPM scans the subdirectories of those directories. Is this necessary?
I'm using this config
"gitProjectManager.baseProjectsFolders": [
"C:\\test",
"D:\\Dropbox\\workspace",
"/Users/ntcong/Dropbox/workspace"
],
"gitProjectManager.storeRepositoriesBetweenSessions": false,
"gitProjectManager.codePath": [
"C:\\Program Files\\Microsoft VS Code\\bin\\code.cmd",
"/usr/local/bin/code"
],
"gitProjectManager.recentProjectsListSize": 5,
"gitProjectManager.maxDepthRecursion": 2,
"gitProjectManager.warnIfFolderNotFound": true,
"gitProjectManager.checkRemoteOrigin": false
}
It's working correctly on OSX, but return no entries on Windows (no process bar, no error log).
Is there any way to enable a verbose output so I can know what's going on here.
I find it a bit annoying when I explicitly call refresh and it gives me a popup which I need to manually dismiss.
I use VS Code both in Windows and Linux and I use code-settings-sync extension so I can sync my settings and extensions between the two systems and it works great except for GPM because I can't set two path for VS Code and using no setting also doesn't works.
I can set folders for both environments like this and it works nicely:
"gitProjectManager.baseProjectsFolders": [
"/home/xxxxx/repositories",
"D:\\Repositories"
]
It would be great if I could do the same for the code executable setting (gitProjectManager.codePath
) and the extension look in these paths to find Code.
Sometimes I get this error when I try to open the list of projects.
command 'gitProjectManager.openProject' not found
Restarting VS Code fixed the problem
I don't know if this is happening to someone else, but the same code that I have published is not working after published.
I'm checking this out
My issue is that since it's alphabetical now, the top match is not always the best one. Meaning it's less deterministic which project will show up first, I can't simply type "vscode" and press enter:
There are a
Consider the following list of files:
Here are two improvements that would help fix it:
Option 1 would be ideal for my workflow, displaying the matches from the start first, and then other matches.
Error while showing Project list: TypeError: e.done is not a function!! For vs code v1.5.1
If I type in part of a project name before GPM has finished priming its cache, there will be no filtering applied to the result. I need to then type an additional character to trigger the filtering
Reproduction steps:
Cmd+Opt+P
)PS. Great work on this extension, super useful! 👍
After fixing the typo in npm package tests are running but breaking build. Need to fix it ASAP
As of now, the list simply displays the full path to the project. I'm not really a fan of it.
I would find it more useful to have only the project name displayed and then in gray at the right, the path.
After using the extension for a week or so now I've noticed myself doing the following:
Unfortunately there is a significant delay (~500ms) that occurs after step 2 which means that half of my search query goes in the active file and half in the search field, this means that at step 4 I get the do you want to save dialog.
The way to get around this seems to be to pass a Thenable<string[]>
to showQuickPick
instead of a string[]
, which should show the dialog immediately, allowing successive keystrokes to add to the search query while the git repositories are being loaded.
This is a feature request to remove the option openInNewWindow
and make two separate commands for opening in a new window or replacing the current window.
This is an excellent plugin for VSCode. Thank you!
Hi,
Thanks for a great VSCode extension. I have an issue with it, and the issue is that my git folders are extremely numerous (between 150 and 200), so I have split them per customer.
However, I cannot seem to be able to specify the "parent folder" which contains all these git repos. If I do, it will not find any repos. Any way to work around this?
if I put in a path that's a symlink to another directory, this plugin won't find any git repos inside it.
"gitProjectManager.baseProjectsFolders": [
"/Users/dave/create"
]
I have the following setup:
{
"gitProjectManager.baseProjectsFolders": [
"$HOME/dev",
"%USERPROFILE%\\Documents\\dev"
],
"gitProjectManager.maxDepthRecursion": 2
}
And it seems to be looking very deep in the "%USERPROFILE%\\Documents\\dev"
folder on Windows as I can see it looking at node_modules in the status bar:
Version details:
Extension | Author | Version |
---|---|---|
vscode-svgviewer | cssho | 1.4.0 |
EditorConfig | EditorConfig | 0.9.3 |
git-project-manager | felipecaputo | 1.3.0 |
seti-icons | qinjia | 0.1.3 |
theme-glacier | Tyriar | 0.0.10 |
theme-sapphire | Tyriar | 0.1.0 |
Readme is really outdated.
Take advantage of #57 and update the new keybind, the new features like Open Projects from Subfolder Alt+Shit+P
and MRU List Ctrl+Shift+Q
and write a new and awesome Readme
Hello,
Thank you for a marvellously handy plugin!
The issue I'm struggling with is that none of the commands seems to be working following an update of VSC. The message I'm getting is 'command 'gitProjectManager.refreshProjects' not found.
Happy to provide you with any logs, if needed.
After #25 gets merged it would be great if a new version is published so we can get the improvements out there.
It would be great if we could set the discovery process to ignore certain folders, like node_modules or bower_components so it wouldn't have to crawl them. Would you accept a PR for this?
This may fix the performance issues brought up in #2 if the correct folders are ignored.
I just setup a new machine and I hit this:
ENOENT: no such file or directory, open '/home/daniel/.config/Code/User/gpm-recentItems.json': Error: ENOENT: no such file or directory, open '/home/daniel/.config/Code/User/gpm-recentItems.json'
at Object.fs.openSync (fs.js:558:18)
at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:173:20)
at Object.fs.writeFileSync (fs.js:1233:33)
at RecentItems.saveToFile (/home/daniel/.vscode-insiders/extensions/felipecaputo.git-project-manager-1.3.1/src/recentItems.js:34:12)
at RecentItems.addProject (/home/daniel/.vscode-insiders/extensions/felipecaputo.git-project-manager-1.3.1/src/recentItems.js:51:14)
at GitProjectManager.openProject (/home/daniel/.vscode-insiders/extensions/felipecaputo.git-project-manager-1.3.1/src/gitProjectManager.js:249:25)
at onResolve (/home/daniel/.vscode-insiders/extensions/felipecaputo.git-project-manager-1.3.1/src/gitProjectManager.js:160:22)
at Object.m [as _notify] (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:63456)
at Object.enter (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:67030)
at n.Class.derive._oncancel._run (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:68858)
at n.Class.derive._oncancel._completed (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:68299)
at /usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:75260
at n.Class.derive._creator.done (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:70159)
at Object.m [as _notify] (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:63598)
at Object.enter (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:67030)
at n.Class.derive._oncancel._run (/usr/share/code-insiders/resources/app/out/vs/workbench/node/extensionHostProcess.js:4:68858)
Latest VSCode on latest OS X.
Whenever I open a project via GPM and the try to debug it, I see the following in my VSCode Debug Console:
Program path uses differently cased character as file on disk; this might result in breakpoints not being hit.
...and just like it says, my breakpoints do not get hit.
I use this plugin on two different machines (with synced settings via the Settings Sync plugin), both with different directories used for projects.
Example:
[
'/Users/user1/projects',
'/Users/user2/projects'
]
In previous versions, having an incorrect path in my baseProjectsFolders
array would fail silently.
So if I was on Machine 1/User 1, it would index those projects properly and then fail silently when it couldn't find the user2
directory.
With the last update it now fails completely when it can't find all of the folders in the array.
It would be nice to go back to the previous way of handling this.
Hi,
I'm using the Insiders-Build of Code.
Version 1.5.0-insider
Commit 4fc690be310dd02e0ab6529c0b9bf348a8b26a19
Date 2016-09-08T11:04:22.252Z
Shell 0.37.6
Renderer 49.0.2623.75
Node 5.10.0
When I try to open one of the projects from my list the following error appears:
Error while showing Project list: TypeError: e.done is not a function
I've also tried to mitigate the problem by refreshing the project list but the error remained.
Regards,
Consider adding a way to limit the search depth (configuration option?) in order to improve performance for large folders.
the full path works
"gitProjectManager.baseProjectsFolders": [
"/Users/dave/projects"
],
but this plugin can't find the directory when using the tilde alias for home
"gitProjectManager.baseProjectsFolders": [
"~/projects"
],
I found this randomly when looking for possible causes of #62 .
In your code to display a little info about repos, you explicitly call "git remote show origin". This will fail if the default remote is not called "origin". In such case, it just shows "origin" string.
How to reproduce: Update your .git/config to something like
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin_"]
url = [email protected]:felipecaputo/git-project-manager.git
fetch = +refs/heads/*:refs/remotes/origin/_*
[branch "master"]
remote = origin_
merge = refs/heads/master
Perhaps, it's a marginal issue but anyway...
Cheers,
Jan
Hi,
the extension is very useful. Most of my projects are versioned by git by I have a lonely mercurial repo or two. Therefore, I was wondering how difficult it would be to add support for other versioning systems - hg, svn, ... Perhaps they can be recognized by the presence of .hg, .svn, ... directories easily?
Thanks in any case.
It'd be nice if we could set a list of project folders in addition to locating git projects within a folder.
To avoid getting out of editor to clone a repository, add this command to Git Project Manager
Is anyone else having this issue? It refuses to run the new code instance and I get the following error:
[Plugin Host] Error: Command failed: /bin/sh -c code -n "/go/src/github.com/blamarche/assemble-web-chat"
code: bad option: -n
at ChildProcess.exithandler (child_process.js:215:12)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at maybeClose (internal/child_process.js:817:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5) code: bad option: -n
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.