MSysGit安装一个上下文菜单项,该菜单项在当前选定的文件夹中打开Git Bash提示符;但是,这将打开一个cmd.exe窗口,而我希望它在Console2中打开。
我需要进行哪些修改才能使其正常工作?
注意,我已经看到了这个相关的问题,但是答案已经过时了-MSysGit现在使用vba脚本来调用bash提示。此外,它没有明确说明如何使Console2正常运行。
更新:您可能会对ConEmu(Console的出色替代者)进行相同的操作感兴趣。看到这里:ConEmu中的Git Bash
MSysGit安装一个上下文菜单项,该菜单项在当前选定的文件夹中打开Git Bash提示符;但是,这将打开一个cmd.exe窗口,而我希望它在Console2中打开。
我需要进行哪些修改才能使其正常工作?
注意,我已经看到了这个相关的问题,但是答案已经过时了-MSysGit现在使用vba脚本来调用bash提示。此外,它没有明确说明如何使Console2正常运行。
更新:您可能会对ConEmu(Console的出色替代者)进行相同的操作感兴趣。看到这里:ConEmu中的Git Bash
Answers:
这是我所做的(您的路径几乎可以肯定会有所不同):
Git Bash
C:\Program Files\Git\etc\git.ico
"C:\Program Files\Git\bin\sh.exe" --login -i
%HOMEDRIVE%%HOMEPATH%
HKEY_CLASSES_ROOT\Directory\shell\
名为的新键git_shell2
,其数据值为Git Console Here
HKEY_CLASSES_ROOT\Directory\shell\git_shell2\
名为的新键command
,其数据值为"C:\Users\charlesr\My Dropbox\Software\Console2\Console.exe" -t "Git Bash" -d "%1"
这可以解决问题。
代替执行上面的步骤2和3,您可以将以下内容复制到.reg文件中(首先修改路径以适合您自己的配置),然后导入注册表。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\git_shell2]
@="Git Console Here"
[HKEY_CLASSES_ROOT\Directory\shell\git_shell2\command]
@="\"C:\\Users\\charlesr\\My Dropbox\\Software\\Console2\\Console.exe\" -t \"Git Bash\" -d \"%1\""
.bat
脚本(无需切换到其他选项卡,即可运行Cmd.exe
)。有没有人对此有任何见解?
vba脚本仅在同一目录中启动Git Bash快捷方式。只需更改该快捷方式,使其指向Console2的可执行文件并配置Console2,以使其使用MSysGit的sh作为其外壳即可。
更新
进入更多细节,因为我只需要在新计算机上再次进行以下操作:
配置Console2
C:\Program Files (x86)\Git\etc\git.ico
C:\Program Files (x86)\Git\bin\sh.exe --login -i
调整Git Bash的快捷方式
C:\Tools\Console2\Console.exe -t git -d .
(以及Console2二进制文件所在的位置)诀窍是“ -d”。选项传递给Console2:Git Bash.vbs
在启动快捷方式之前,脚本会将当前目录更改为鼠标指向的位置。
希望能有所帮助。
万一有人偶然发现要使用 MinGW Bash的情况,我找到了解决方案。
Bash
C:\MinGW\msys\1.0\bin\sh.exe -l
编辑注册表
ni hklm:software/classes/directory/shell/bash/command `
-f -va 'c:/Console2/Console.exe -t Bash -d %v'
~/.profile
使用以下内容创建:
cd -
可以在64位和32位Console2上使用,不确定是否要使用 coderanger 。
HKCR\...\command
不应用引号引起来。接下来,我相信\-d
您的意思是传递/d
参数来指定新注册表项的数据。另外,您需要在数据值-t
两边加上双引号,并且该参数会导致Console.exe根本无法打开,因此请排除它。它应该看起来像这样:reg add HKCR\Directory\shell\Bash\command /d "C:\Console2\Console.exe -d \"%V\""
cmd.exe
,因为Bash允许对字符串使用单引号和双引号。您应该考虑升级到Bash。
假设您有一个名为“ bash”的Console2选项卡:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\console2_bash]
@="Bash here (Console2)"
"NoWorkingDirectory"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\console2_bash\command]
@="\"C:\\Program Files (x86)\\Console2\\Console.exe\" -t Bash -d \"%V\"\\"