使用 Directory Opus 替代 Windows 自带的文件资源管理器来管理你计算机上的文件可以极大地提高你的文件处理效率。

本文将教你如何使用 Directory Opus 的命令编辑器功能创建一个命令——跟 TortoiseGit 进行集成。


命令编辑器

如果你是从下面这篇文章阅读过来的,那么你现在应该正好已经打开了一个命令编辑器:

如果你并没有打开命令编辑器,那么可以再阅读上面这篇文章打开一个。

设置 -> 自定义工具栏新建 -> 新建按钮编辑

寻找命令

我在 Windows 系统上使用任务管理器查看进程的各项属性 一文中告诉大家可以在任务管理器中查看某个正在运行中的进程的命令行参数,于是我们可以通过这样的方式得知如何集成 TortoiseGit 的各项功能。

比如,我们在一个文件夹中从文件资源管理器中右键,选择 Git 克隆...,等待打开一个 TortoiseGit 的克隆窗口。

TortoiseGit 的 Git 克隆菜单项

这时,我们去任务管理器中查看此任务的命令行参数:

TortoiseGit 克隆的命令行参数

> TortoiseGitProc.exe /command:clone /path:"D:\walterlv" /hwnd:0000000000161264

那么接下来,我们将这些信息逐一填入到命令编辑器窗格中。

填写命令

命令编辑器

函数

函数一栏,如果你只是简单地希望启动一个程序传入参数的话,那么称之为“启动程序”可能更合适一些。

但是,我依然倾向于在后面继续保持“函数”的称呼,因为这才能体现出 Directory Opus 自定义按钮命令的强大。所以如果你后面看到我提及“函数”,那么指的就是这里的功能。

Directory Opus 相比于 Total Commander 的一大特点便是其鼠标支持,这在“函数”一栏的填写中也有所体现。你可以在函数一栏的最右侧看到一个文件夹图标,点击之后可以选择你想启动的程序。

现在,我们通过这个按钮找到 TortoiseGitProc.exe 程序,于是我们就可以在“函数”一栏中自动填入 TortoiseGitProc.exe 的程序路径。

我们在任务管理器中看到了应该给 TortoiseGitProc.exe 传入的参数,所以我们直接在此文本框的后面继续添加参数。添加后的整个文本框中的内容应该是下面这样的:

"C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe" /command:clone /path:"{sourcepath}"

这里出现了一个 {sourcepaht},这是一个表示当前路径的变量,稍后会作详细的说明。

图标、说明、显示说明、提示信息

我们在“函数”一栏中添加了一个可以启动的程序之后,Directory Opus 的命令编辑窗口会自动帮我们从主程序中获取一个可以显示的图标。

选择了程序之后,出现了图标

点击一下这个图标,可以选择此程序的其他图标。我们现在正在做的是一个 Git Clone 的按钮,所以我们选择一个表示克隆仓库的图标:

选择图标

接着,我们需要进行一些基础的设置:

  • 图标:将显示大图标打勾,可以使用更大更清晰的图标,这对于我这种 UI 党来说会更加友好。
  • 说明:这是最终会出现在按钮上的文字。我填写了“Git 克隆…”,后面的三个点在 Windows 系统中是一种交互惯例,表示点击后还需要用户给出额外的信息才能完成指定的任务。
  • 显示说明:说明文字会出现在图标的哪个方向。我选择了右侧,这跟 Directory Opus 上的多数已有工具栏是保持一致的。
  • 提示信息:上你把鼠标移动到按钮上的时候,将显示的工具提示说明。可以使用比较长的一段话清晰地说明这个按钮是干什么用的。

设置了基础属性的命令

开始于

开始于,指的是点击此按钮运行我们指定的“函数”时,如果函数打开了一个进程,那么此进程的工作路径是什么。

我们先填入 {sourcepath}。这里,我们再次使用了 {sourcepath} 这个变量。稍后会进行说明。

实际上到此为止,如果你按下“确定”按钮,你将在工具栏上看见一个“Git 克隆…”按钮。

“Git 克隆...”按钮

高级

如果你没有关闭此窗口,那么点击“高级…”,我们将打开高级的命令编辑器。现在我们可以注意到下面出现了一个非常大的函数编辑窗口,而此前的“函数”、“开始于”、“运行”选项都消失了。这是因为此函数编辑窗口涵盖了消失的这些按钮的所有功能,而且更为强大,因为可以使用更多种类的命令。

高级命令编辑器

函数类型

留意命令编辑器中的命令,我们此前用鼠标点击的操作实际上对应了两行命令:

cd {sourcepath}
C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe /command:clone /path:"{sourcepath}"

第一行是将路径转换到 {sourcepath} 变量所指示的路径中,第二行是启动一个程序并传入适当的参数。

而这个参数是什么意思呢?如何可以输入呢?

请点击命令编辑器上面的“参数”按钮,这时会弹出一个菜单,对各种各样可以输入的参数放在一起进行了分类存放。

因为我们要克隆 Git 仓库需要现在 Directory Opus 里面先进入一个文件夹,然后将 Git 仓库克隆到此仓库中,所以我们实际上是希望拿到 Directory Opus 当前正在浏览的文件夹。

{sourcepath} 表示正在操作的源路径,而正在操作的源路径就是 Directory Opus 的当前文件夹(如果你有多个文件夹窗格,则是当前激活的那个窗口所在的文件夹)。所以我们选用了此参数。

Directory Opus 可以输入的参数

最后一步

在自定义完按钮之后,不要忘了关闭最开始弹出来的“自定义工具栏”的对话框。

“自定义工具栏”对话框


本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/directory-opus-integrate-with-tortoise-git.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 dotnet 职业技术学院 (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系