Git Bash di sini di Console2?

47

MSysGit menginstal item menu konteks yang membuka prompt Git Bash di folder yang dipilih saat ini; Namun, ini membuka jendela cmd.exe dan saya ingin membuka di Console2 sebagai gantinya.

Modifikasi apa yang harus saya lakukan agar ini berfungsi?

Catatan, saya telah melihat pertanyaan terkait ini , tetapi jawabannya sudah usang - MSysGit sekarang menggunakan skrip vba untuk menjalankan bash prompt. Plus itu tidak menjelaskan secara jelas bagaimana cara membuat sesuatu bekerja dengan Console2.

Pembaruan: Anda mungkin tertarik untuk melakukan hal yang sama dengan ConEmu , penerus yang cukup baik untuk Console . Lihat di sini: Git Bash di sini di ConEmu

Charles Roper
sumber

Jawaban:

44

Inilah yang saya lakukan (jalur Anda dengan hampir pasti bervariasi):

  1. Buat tab baru di Konsol dengan nilai berikut:
    • Judul: Git Bash
    • Ikon: C:\Program Files\Git\etc\git.ico
    • Kulit "C:\Program Files\Git\bin\sh.exe" --login -i
    • Dir permulaan: %HOMEDRIVE%%HOMEPATH%
  2. Buat kunci baru di HKEY_CLASSES_ROOT\Directory\shell\panggil git_shell2dengan nilai dataGit Console Here
  3. Buat kunci baru di HKEY_CLASSES_ROOT\Directory\shell\git_shell2\panggil commanddengan nilai data"C:\Users\charlesr\My Dropbox\Software\Console2\Console.exe" -t "Git Bash" -d "%1"

Ini caranya.

Alih-alih melakukan langkah 2 dan 3 di atas, Anda bisa menyalin yang berikut ini ke file .reg (memodifikasi jalur yang sesuai dengan konfigurasi Anda terlebih dahulu) kemudian mengimpor ke dalam registri.

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
sumber
Hanya catatan untuk orang lain yang menemukan ini nanti, pastikan Anda menggunakan versi 32-bit Console2 atau ini akan gagal.
coderanger
Perhatikan bahwa dalam msysgit terbaru ikonnya sekarang dalam C: \ msysgit \ share \ resources \ git.ico
Kevin Berridge
1
Terima kasih Charles, tetapi mengapa menjalankan langkah 2 dan 3? Ini berfungsi dengan baik hanya melakukan langkah 1, tidak yakin mengapa perlu mengubah pengaturan repositori?
Mark Kadlec
2
Sangat rapi. Catatan Anda juga dapat menambahkan menu konteks saat mengklik di "latar belakang" folder (bagian putih, bukan pada ikon) gist.github.com/4048138
Ozh
Saya telah menggunakan pengaturan ini untuk sementara waktu, tetapi tampaknya memiliki keterbatasan yang disayangkan karena tidak dapat mengeksekusi .batskrip (tanpa beralih ke tab yang berbeda, menjalankan dataran Cmd.exe). Adakah yang punya wawasan tentang ini?
Eoin
7

Skrip vba baru saja meluncurkan pintasan Git Bash di direktori yang sama; cukup ubah pintasan itu untuk mengarahkannya ke executable Console2 dan konfigurasikan Console2 sehingga menggunakan sh MSysGit sebagai cangkangnya.


DIPERBARUI

Pergi ke detail lebih lanjut karena saya hanya perlu melakukannya lagi di komputer baru:

  • Mengkonfigurasi Konsol2

    1. menambahkan tab baru yang disebut "git"
    2. atur ikon menjadi C:\Program Files (x86)\Git\etc\git.ico
    3. atur shell ke C:\Program Files (x86)\Git\bin\sh.exe --login -i
  • Tweaking pintas Git Bash

    1. ubah target pintasan menjadi C:\Tools\Console2\Console.exe -t git -d .(tempat biner Console2 Anda berada)
    2. nikmati peluncuran "Git Bash Here" baru Anda di Console2!

Kuncinya adalah "-d." opsi diteruskan ke Console2: Git Bash.vbsskrip mengubah direktori saat ini ke titik yang ditunjuk oleh mouse sebelum meluncurkan pintasan.

Semoga itu bisa membantu.

Gregory Pakosz
sumber
5

Kalau-kalau ada yang tersandung pada keinginan ini untuk menggunakan MinGW Bash saya menemukan solusi untuk itu.

  1. Console2, Edit, Pengaturan, Tab, Tambah
  2. Judul = Bash
  3. Shell = C:\MinGW\msys\1.0\bin\sh.exe -l
  4. Edit registri

    ni hklm:software/classes/directory/shell/bash/command `
      -f -va 'c:/Console2/Console.exe -t Bash -d %v'
    
  5. Buat ~/.profiledengan yang berikut ini:

    cd -
    

cd Man Page

Ini bekerja dengan 64-bit dan 32-bit Console2, tidak yakin apa yang sedang tentang coderanger .

Steven Penny
sumber
Ada beberapa masalah dengan perintah ini yang menyebabkan konsol untuk mengembalikan kesalahan. Pertama, HKCR\...\commandjangan dilampiri dengan tanda kutip. Selanjutnya, saya yakin \-dAnda bermaksud untuk melewati /dparameter untuk menentukan data untuk entri registri baru. Juga, Anda perlu tanda kutip ganda di sekitar nilai data dan -tparameter menyebabkan Console.exe tidak terbuka sama sekali, jadi kecualikan itu. Seharusnya terlihat seperti ini:reg add HKCR\Directory\shell\Bash\command /d "C:\Console2\Console.exe -d \"%V\""
David Kennedy
Jelas dari komentar Anda bahwa Anda masih menggunakan cmd.exe, karena Bash memungkinkan penggunaan tanda kutip tunggal dan ganda untuk string. Anda harus mempertimbangkan untuk meningkatkan ke Bash.
Steven Penny
0

Dengan asumsi Anda memiliki tab Console2 bernama '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\"\\"
Kolonel Panic
sumber