[多图, 流量慎入] 分享一个VS Code插件,轻松管理多个Git项目
发布于 7 年前 作者 axetroy 9505 次浏览 来自 分享

如果你经常创建项目,经常clone在Github上的项目,那么不免会遇到一些烦恼: 项目太多,目录混乱,难以管理

以前分享过一个自己写的项目管理工具gpm,用命令行的方式去管理项目。

借鉴GO的包管理进行目录分层…

最近入坑VS Code上瘾了,已抛弃IDEA,顺手写个扩展,管理多个项目.

1.png

动态图

添加项目

编辑文件

打开项目

Star 项目

搜索项目

search project

List project to open

list project to open

地址

Github: https://github.com/axetroy/vscode-gpm

扩展地址: https://marketplace.visualstudio.com/items?itemName=axetroy.vscode-gpm#overview

如果能帮助到你,不妨点个star…

欢迎提建议/功能/PR/拍砖

25 回复

点个赞~ 免得不回我微信 hhh

@x-cold 哈,沉浸在coding中无法自拔

支持同步 projj 的项目导入的话,我就爽了

以前用的编辑器,能管理多个项目。 现在倒是习惯了一个项目一个窗口了。

@atian25 当然支持的了 projj 和 gpm 都是同类

指定好根目录即可

1.png

@44886 经常有这种情况,在开发某个项目的时候,还要看另一个项目的源码…

或者经常切换项目

打开一个新的窗口不是不行,就是麻烦…

试了下,不错。

提个需求,加一个 star 功能,这样 project 插件就可以抛弃了。

@atian25 不太懂 project 的 star 是什么功能啊

  • 右键菜单加一个 star 功能
  • 在树的顶部加一个 star 节点

image.png

@atian25 Great! 已经实现了, 看上面动图

还需要一个 F1 后的快速搜索功能

image.png

@atian25 用的Mac,F1-F12都是Mac的fn功能啊。

对我好像不太常用。

然而vscode的treeView,是按需加载的,就是点开文件夹之后才加载目录下的文件。

如果要做搜索的话,就必须先载入所有的项目,对于vscode来说,好像是一个性能负担。

vscode好慢, 同样的代码异步遍历所有目录和文件. 在Node中也就几秒的事,在vscode中可以花10几秒

@atian25

还有一些细节我想优化的

比如: 在 Star 之后,应该把这条按钮隐藏掉,然后显示 Unstar 而未 Star 的项目,就不应该有 Unstar 按钮

遗憾的是, 现在的vscode,提供的API并不能实现。

===== 2018/13/23更新 =====

记个坑,已支持了这个优化。通过一些“笨拙”的方法实现

vscode 有个when条件,为true时才现实出来

"when": "viewItem = a"

不支持 "viewItem = a || viewItem = b"

所以我前面才说不支持。

但是可以用一些 “奇淫技巧”

声明多个按钮上下文, 总会有一条是满足的

[
   {
   	 "command": "xxx",
	 "when": "viewItem = a"
   },
   {
   	 "command": "xxx",
	 "when": "viewItem = b"
   }
]

@axetroy

用的Mac,F1-F12都是Mac的fn功能啊。

F1 不用你管的,就是加一个 vscode 的 command + list 就完了。

如果要做搜索的话,就必须先载入所有的项目,对于vscode来说,好像是一个性能负担。

其实不需要你搞那么多层的,三层到项目本身就 ok 了,不需要进去项目源码。 即使你 tree 那边要做展开也没关系,搜索这里不需要三层

vscode好慢, 同样的代码异步遍历所有目录和文件. 在Node中也就几秒的事,在vscode中可以花10几秒

vscode 自带的 pattern matcher 有问题,自己用 globby 就快了。 https://github.com/Microsoft/vscode/issues/36324

@atian25

已支持了搜索,没有增加快捷键

如果有需要的话,自行添加快捷键会比较好

搜索项目

search project

List project to open

list project to open

就想问gif图是用什么工具录的?

来自酷炫的 CNodeMD

感觉老哥经常撸插件

要支持本地项目管理就好了

@zy445566 Mac 下的 GifCapture。简单又好用

@dengnan123 折腾不止,生命不息. 嘿嘿

@axetroy “gpm.rootPath”: “D:\GPM”,windows 下 根目录怎么设置啊

@sonong \需要转义, 应该这样设置 “gpm.rootPath”: “D:\\GPM”

回到顶部