47

MSysGit installs a context menu item that opens a Git Bash prompt at the currently selected folder; however, this opens a cmd.exe window and I would like it to open in Console2 instead.

What modifications do I need to make to get this working?

Note, I have seen this related question, but the answer is outdated - MSysGit is now using a vba script to invoke the bash prompt. Plus it doesn't explicity state how to get things working with Console2.

Update: you may be interested in doing the same with ConEmu, a rather excellent successor to Console. See here: Git Bash Here in ConEmu

Charles Roper
  • 10,879

4 Answers4

44

Here's what I did (your paths with almost certainly vary):

  1. Create a new tab in Console with the following values:
    • Title: Git Bash
    • Icon: C:\Program Files\Git\etc\git.ico
    • Shell "C:\Program Files\Git\bin\sh.exe" --login -i
    • Startup dir: %HOMEDRIVE%%HOMEPATH%
  2. Create a new key in HKEY_CLASSES_ROOT\Directory\shell\ called git_shell2 with a data value of Git Console Here
  3. Create a new key in HKEY_CLASSES_ROOT\Directory\shell\git_shell2\ called command with a data value of "C:\Users\charlesr\My Dropbox\Software\Console2\Console.exe" -t "Git Bash" -d "%1"

This does the trick.

Instead of doing steps 2 and 3 above, you could just copy the following into a .reg file (modify the paths to suit your own config first) then import into the registry.

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\""
Charles Roper
  • 10,879
7

The vba script just launches the Git Bash shortcut in the same directory; just change that shortcut to make it point at Console2's executable and configure Console2 so that it uses MSysGit's sh as its shell.


UPDATED

Going into more details as I just needed to do it again on a new computer:

  • Configuring Console2

    1. added a new tab called "git"
    2. set the icon to C:\Program Files (x86)\Git\etc\git.ico
    3. set the shell to C:\Program Files (x86)\Git\bin\sh.exe --login -i
  • Tweaking Git Bash's shortcut

    1. change the shortcut target to C:\Tools\Console2\Console.exe -t git -d . (well where your Console2 binary is located)
    2. enjoy your new "Git Bash Here" launching Console2!

The trick is the "-d ." option passed to Console2: the Git Bash.vbs script changes the current directory to the point pointed by the mouse before launching the shortcut.

Hope that helps.

5

In case anyone stumbles upon this wanting to use MinGW Bash I found a solution for that.

  1. Console2, Edit, Settings, Tabs, Add
  2. Title = Bash
  3. Shell = C:\MinGW\msys\1.0\bin\sh.exe -l
  4. Edit registry

    ni hklm:software/classes/directory/shell/bash/command `
      -f -va 'c:/Console2/Console.exe -t Bash -d %v'
    
  5. Create ~/.profile with the following:

    cd -
    

cd Man Page

This works with 64-bit and 32-bit Console2, not sure what coderanger was on about.

Zombo
  • 1
0

Assuming you have a Console2 tab named 'bash':

[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\"\\"
Colonel Panic
  • 12,549