将Windows资源管理器用作Git IDE

2020-11-01 00:59:46

我有两台不同的固定电脑。一台运行Windows的定制PC,一台运行MacOS9的iMacG3,以及一台运行Alpine Linux的老式惠普微塔,充当着某种形式的家庭服务器。在所有这些中,我大部分时间都花在Windows PC上。我的大部分工作都使用Windows,包括我做的大部分编程工作。

尽管我主要使用Windows,但我的大部分Web/软件开发都是以Unix为基础的,或者至少在某种程度上受到了Unix的启发:最明显的是,我使用了Git,这是一个为Unix shell设计的工具。事实证明,这是一个相当尴尬的组合:一方面,我使用Windows资源管理器来管理文件;另一方面,我打开了一个命令提示符来管理存储库。

对于我的工作流来说,如果将Git命令集成到资源管理器本身中会更好。因此,我在AutoHotKey脚本中添加了相当于以下代码的内容:

组添加,资源管理器,ahk_class CabinetWClass组添加,资源管理器,ahk_class exploreWClass#IfWinActive ahk_group Explorer!a::运行,%";cmd/c cd";qp()";&;git add";qp()";&;&;git状态&;暂停";!c::运行,%";cmd/c CD";qp()";&;git提交&;#34;!+c::运行,%";cmd/c cd";qp()";&;git Commit--修订&;暂停";!d::运行,%";cmd/c cd";qp()";&;git diff&;pause";!+d:运行,%";cmd/c CD";qp()&;git diff";Qip()";&;pause";!f::run,%";cmd/c cd";qp()";&;git diff head~1 head&;pause";!+f::run,%";cmd/c cd";qp()";&;git diff head~1 head";qp()&;pause";!l::Run,%";qp()&;git diff head~1 head";qp()&;pause";!l::Run,%";cmd/c cd";qp()";Cmd/c cd";qp()";&;git日志&;pause";!+l::运行,%";cmd/c cd";qp()";&;git log";qp()&;pause";!p::运行,%";cmd/c cd";qp()";&;git推送&;暂停";!r::Run,%";cmd/c cd";qp()";&;git Reset";qp()";&;&;git Status&;Pause";!s::Run,%";cmd/c cd";qp()";&;Git Status&;Pause";#IfWinActive Explorer(hwnd:=";";){ShellApp:=ComObjCreate(";Shell.Application";)if(hwnd=";";)Windows if(window.hwnd=hwnd)return Window return-1}qp(){return";";";Explorer().Document.Folder.Self.path";";";";}qip(){return";";}qip(){return";";";";";Explorer().Document.FocusedItem.path";";";}。

所有这些热键都会打开一个新的命令提示符窗口,显示Git命令的结果,用户可以通过按任意键关闭该窗口。

根据我的经验,这些热键使得在Windows上使用Git变得不那么麻烦,我认为它展示了即使是非常简单的AutoHotKey脚本也能有多么令人难以置信的有用。如果您对其他快捷键有任何建议,请在下面写下评论。