Comments (13)
Nevermind my last comment - max depth does work as expected!
I was just expecting more of a performance boost, but I see it is actually git remote show origin -n
that is taking the time.
from git-project-manager.
Thanks @felipecaputo ! This works perfectly - with storeRepositoriesBetweenSessions
set to false, maxDepthRecursion
set to 1 and checkRemoteOrigin
set to false, my large list of projects over three roots loads instantly whereas before it would take up to a minute. Thanks again for being so responsive.
from git-project-manager.
Version 0.1.5 released with maxDepthRecursion and ignoredFolders config. I hope it will help you.
from git-project-manager.
Thanks for this, but I didn't see any performance boost. Looking at master I see the filterDir
code commented out - is that intentional / in the release?
https://github.com/felipecaputo/git-project-manager/blob/master/src/gitProjectLocator.js#L53
Also, I think the max depth might work better if the search didn't have to recurse into the .git
directory to find it. Instead it would check each directory for a subdirectory of .git
. This would allow a depth of 1
to very quickly find projects that are all stored under a common directory without having to also specify the configuration to exclude folders like node_modules
.
from git-project-manager.
@martinpengellyphillips Sorry for that, I forgot that vcse publishs the local code instead of commited code. I Will fix that ASAP.
And I will make the .git
fix in the same release
from git-project-manager.
Solved in 0.1.6.
Sorry again @martinpengellyphillips, but now i think it is working fine
from git-project-manager.
Thanks for the quick update!
Since updating to 0.1.6 the extension breaks for me with the following error:
threadService.ts:199 [Plugin Host] WARNING: Promise with no error callback:67
threadService.ts:199 [Plugin Host] Object {exception: null, error: Object, promise: Object, id: 67}
threadService.ts:199 [Plugin Host] WARNING: Promise with no error callback:68
threadService.ts:199 [Plugin Host] Object {exception: null, error: Object, promise: Object, id: 68}
shell.ts:480 An unknown error occurred. Please consult the log for more details.e.onUnexpectedError @ shell.ts:480(anonymous function) @ shell.ts:342e.onUnexpectedError @ errors.ts:72u @ errors.ts:87e.onUnexpectedPluginHostError @ extHost.api.impl.ts:469e.handle @ abstractThreadService.ts:100c @ ipcRemoteCom.ts:172f @ ipcRemoteCom.ts:120doNTCallback0 @ node.js:420_tickCallback @ node.js:349
shell.ts:480 e.text.substr is not a function: TypeError: e.text.substr is not a function
at e.<anonymous> (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:17181)
at e.doElement (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:39:17966)
at e.li (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:39:17235)
at e.renderMessage (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:16405)
at file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:16181
at Array.forEach (native)
at e.<anonymous> (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:16157)
at e.doElement (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:39:17966)
at e.ul (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:39:17111)
at e.renderMessages (file:///C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:41:16022)
I'll pull master locally and try to debug this further unless it is something you have seen already?
from git-project-manager.
In debug the error is not happening, I'm trying to figure it out. Any help is welcome
from git-project-manager.
VSCE does not manage well dependencies of dependencies :(
I've figured it out in the worst way, but fixed now in 0.1.9
Sorry for the inconvenience @martinpengellyphillips
from git-project-manager.
Works! Thanks.
One thing about max depth - I think it would be best if the max depth check is inclusive rather than the current exclusive (now that the .git
subfolder check is performed):
return (maxDepth > 0) && ((currentDepth - initialDepth) > maxDepth);
to
return (maxDepth > 0) && ((currentDepth - initialDepth) >= maxDepth);
This would then ensure that the common case of projects directly under projects base path is handled efficiently.
Thanks again!
from git-project-manager.
What do you think about get the origin being optional?
There isn't a real necessity for that, it was just an idea of handling cases with projects with the same name but, the label is the path itself so, we can let the repo origin configurable.
from git-project-manager.
Yeah - I think that would make sense. For me, the main thing about this extension was to reuse the fact I have .git
for all my projects already, so it is a great way to discover projects quickly. I don't really care that much about the origin when looking for a project - I would drop it altogether ;-)
On that note, it might be good to also consider putting the project name first and then the path after (perhaps like you had origin).
project-a /full/path/to/groupa/projects
project-b /full/path/to/groupa/projects
project-c /full/path/to/groupb/projects
This would make the most important information (project name) more visible.
I guess doing that could also help with filtering if name is considered first and then you can narrow down based on path name. So in the following (contrived) example, you would only have to type a
rather than artis
to select the first project:
/Users/martin/projects/artisan
/Users/martin/projects/bett
/Users/martin/projects/bungle
from git-project-manager.
@martinpengellyphillips I've added the configuration to disable the check remote origin, sorry for taking too much time but last sprint was hard to finish
I've forgot the option to show project in the start of the quick pick, I will open a new issue for that and address that in 0.1.11
from git-project-manager.
Related Issues (20)
- Extension causes high cpu load HOT 6
- Won't open git project HOT 3
- Disable auto refresh HOT 2
- Feature request: Option to sort display alphabetically
- List submodules as projects HOT 2
- Publish to Open VSX
- Extension issue HOT 3
- Error message 'gitProjectManager.openProject' not found HOT 4
- "Directory <dir> does not exists." should read "Directory <dir> does not exist." HOT 1
- performance related bug
- Can not display the project folder path.
- Support for wildcards in settings
- Extension issue
- Fix README.md documentation issue HOT 1
- Unable to open unowned repositories
- Stressica 3.0
- Also match the search with the remote path
- Make search fuzzier HOT 6
- Cannot switch workspaces while in WSL via WSL Remote Extension HOT 3
- Can add SMB support for base folder path? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-project-manager.