Git Bash hier in Console2?

17253
Charles Roper

MSysGit installiert ein Kontextmenüelement, das eine Git Bash-Eingabeaufforderung im aktuell ausgewählten Ordner öffnet. Dies öffnet jedoch ein cmd.exe-Fenster, und ich möchte, dass es stattdessen in Console2 geöffnet wird.

Welche Änderungen muss ich vornehmen, damit das funktioniert?

Hinweis: Ich habe diese verwandte Frage gesehen, aber die Antwort ist veraltet - MSysGit verwendet jetzt ein vba-Skript, um die Bash-Eingabeaufforderung aufzurufen. Außerdem wird nicht explizit angegeben, wie Sie mit Console2 etwas erreichen können.

Update: Möglicherweise möchten Sie dasselbe mit ConEmu tun, einem sehr guten Nachfolger von Console . Siehe hier: Git Bash Here in ConEmu

47

4 Antworten auf die Frage

44
Charles Roper

Folgendes habe ich gemacht (Ihre Pfade variieren sicherlich mit):

  1. Erstellen Sie in Console eine neue Registerkarte mit den folgenden Werten:
    • Titel: Git Bash
    • Symbol: C:\Program Files\Git\etc\git.ico
    • Schale "C:\Program Files\Git\bin\sh.exe" --login -i
    • Startverzeichnis: %HOMEDRIVE%%HOMEPATH%
  2. Erstellen Sie einen neuen Schlüssel in HKEY_CLASSES_ROOT\Directory\shell\namens git_shell2mit einem DatenwertGit Console Here
  3. Erstellen Sie einen neuen Schlüssel in HKEY_CLASSES_ROOT\Directory\shell\git_shell2\namens commandmit einem Datenwert"C:\Users\charlesr\My Dropbox\Software\Console2\Console.exe" -t "Git Bash" -d "%1"

Das macht den Trick.

Anstatt die Schritte 2 und 3 oben auszuführen, können Sie einfach Folgendes in eine .reg-Datei kopieren (die Pfade müssen zuerst an Ihre eigene Konfiguration angepasst werden) und dann in die Registrierung importiert.

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\"" 
Nur ein Hinweis für andere, die dies später finden, stellen Sie sicher, dass Sie die 32-Bit-Version von Console2 verwenden, da sonst ein Fehler auftritt. coderanger vor 14 Jahren 0
Beachten Sie, dass sich das Symbol in der neuesten Version jetzt unter C: \ msysgit \ share \ resources \ git.ico befindet Kevin Berridge vor 13 Jahren 0
Danke Charles, aber warum laufen die Schritte 2 und 3? Es funktioniert gut, wenn Sie nur Schritt 1 ausführen. Sie wissen nicht, warum Sie die Repository-Einstellungen ändern müssen? Mark Kadlec vor 12 Jahren 1
Sehr gepflegt. Hinweis Sie können auch ein Kontextmenü hinzufügen, wenn Sie auf den "Hintergrund" eines Ordners klicken (der weiße Teil, nicht ein Symbol) https://gist.github.com/4048138 Ozh vor 11 Jahren 2
Ich benutze dieses Setup schon eine Weile, aber es scheint die unglückliche Einschränkung zu haben, dass es nicht möglich ist, `.bat`-Skripts auszuführen (ohne zu einem anderen Tab zu wechseln und einfach` Cmd.exe` ausführen). Hat jemand irgendwelche Einsichten dazu? Eoin vor 10 Jahren 0
Startet git bash nicht mit dem Startverzeichnis besnep vor 8 Jahren 0
7
Gregory Pakosz

Das vba-Skript startet nur die Git Bash-Verknüpfung in demselben Verzeichnis. Ändern Sie einfach diese Verknüpfung, damit sie auf die ausführbare Datei von Console2 verweist, und konfigurieren Sie Console2 so, dass MSysGit's sh als Shell verwendet wird.


AKTUALISIERTE

Ich werde auf weitere Details eingehen, da ich es gerade auf einem neuen Computer tun musste:

  • Console2 konfigurieren

    1. Neue Registerkarte namens "git" hinzugefügt
    2. Setzen Sie das Symbol auf C:\Program Files (x86)\Git\etc\git.ico
    3. Setzen Sie die Shell auf C:\Program Files (x86)\Git\bin\sh.exe --login -i
  • Abkürzung für Git Bash

    1. Ändern Sie das Verknüpfungsziel in C:\Tools\Console2\Console.exe -t git -d .(gut dort, wo sich Ihre Console2-Binärdatei befindet).
    2. Viel Spaß mit Ihrem neuen "Git Bash Here", das Console2 startet!

Der Trick ist das "-d". Option an Console2 übergeben: Das Git Bash.vbsSkript ändert das aktuelle Verzeichnis in den Punkt, auf den die Maus zeigt, bevor die Verknüpfung gestartet wird.

Hoffentlich hilft das.

4
Steven Penny

Falls jemand darüber stolpert und MinGW Bash verwenden möchte, habe ich eine Lösung dafür gefunden.

  1. Console2, Bearbeiten, Einstellungen, Registerkarten, Hinzufügen
  2. Titel = Bash
  3. Shell = C:\MinGW\msys\1.0\bin\sh.exe -l
  4. Registry bearbeiten

    ni hklm:software/classes/directory/shell/bash/command ` -f -va 'c:/Console2/Console.exe -t Bash -d %v' 
  5. Erstellen Sie ~/.profilemit dem folgenden:

    cd - 

cd Man Page

Dies funktioniert mit 64-Bit- und 32-Bit-Console2, nicht sicher, um welchen Coderanger es sich handelt.

Bei diesem Befehl gibt es mehrere Probleme, die dazu führen, dass die Konsole einen Fehler zurückgibt. Erstens sollte HKCR \ ... \ command nicht in Anführungszeichen gesetzt werden. Als Nächstes glaube ich, dass Sie mit `\ -d` den Parameter` / d` übergeben, um die Daten für den neuen Registrierungseintrag anzugeben. Außerdem benötigen Sie doppelte Anführungszeichen um den Datenwert und der Parameter `-t` bewirkt, dass Console.exe nicht geöffnet wird. Schließen Sie dies also aus. Es sollte so aussehen: `reg add HKCR \ Directory \ shell \ Bash \ command / d" C: \ Console2 \ Console.exe -d \ "% V \" "` David Kennedy vor 12 Jahren 0
Aus Ihren Kommentaren ist offensichtlich, dass Sie noch `cmd.exe` verwenden, da Bash die Verwendung von einfachen und doppelten Anführungszeichen für Zeichenfolgen erlaubt. Sie sollten ein Upgrade auf Bash in Betracht ziehen. Steven Penny vor 12 Jahren 0
0
Colonel Panic

Angenommen, Sie haben eine Console2-Registerkarte namens "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\"\\"