Git Bash Ở đây trong Console2?


47

MSysGit cài đặt một mục menu ngữ cảnh mở lời nhắc Git Bash tại thư mục hiện được chọn; tuy nhiên, điều này sẽ mở một cửa sổ cmd.exe và tôi muốn nó mở trong Console2 thay thế.

Những sửa đổi nào tôi cần phải thực hiện để làm việc này?

Lưu ý, tôi đã thấy câu hỏi liên quan này , nhưng câu trả lời đã lỗi thời - MSysGit hiện đang sử dụng tập lệnh vba để gọi dấu nhắc bash. Thêm vào đó, nó không giải thích làm thế nào để mọi thứ hoạt động với Console2.

Cập nhật: bạn có thể quan tâm đến việc làm tương tự với ConEmu , một người kế thừa khá xuất sắc cho Console . Xem ở đây: Git Bash Ở đây trong ConEmu

Câu trả lời:


44

Đây là những gì tôi đã làm (đường dẫn của bạn gần như chắc chắn khác nhau):

  1. Tạo một tab mới trong Bảng điều khiển với các giá trị sau:
    • Tiêu đề: Git Bash
    • Biểu tượng: C:\Program Files\Git\etc\git.ico
    • Vỏ "C:\Program Files\Git\bin\sh.exe" --login -i
    • Khởi động thư mục: %HOMEDRIVE%%HOMEPATH%
  2. Tạo một khóa mới HKEY_CLASSES_ROOT\Directory\shell\được gọi git_shell2với giá trị dữ liệu làGit Console Here
  3. Tạo một khóa mới HKEY_CLASSES_ROOT\Directory\shell\git_shell2\được gọi commandvới giá trị dữ liệu là"C:\Users\charlesr\My Dropbox\Software\Console2\Console.exe" -t "Git Bash" -d "%1"

Đây là mẹo.

Thay vì thực hiện các bước 2 và 3 ở trên, bạn chỉ có thể sao chép phần sau vào tệp .reg (sửa đổi đường dẫn cho phù hợp với cấu hình của riêng bạn trước) sau đó nhập vào sổ đăng ký.

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\""

Chỉ cần một lưu ý cho những người khác tìm thấy điều này sau, hãy đảm bảo bạn đang sử dụng phiên bản Console2 32 bit nếu không sẽ thất bại.
coderanger

Lưu ý rằng trong msysgit mới nhất, biểu tượng hiện có trong C: \ msysgit \ share \ resource \ git.ico
Kevin Berridge

1
Cảm ơn Charles, nhưng tại sao lại chạy bước 2 và 3? Nó hoạt động tốt chỉ cần làm bước 1, không chắc tại sao cần phải thay đổi cài đặt kho lưu trữ?
Đánh dấu Kadlec

2
Rât gọn gang. Lưu ý, bạn cũng có thể thêm menu ngữ cảnh khi nhấp vào "nền" của thư mục (phần màu trắng, không phải trên biểu tượng) gist.github.com/4048138
Ozh

Tôi đã sử dụng thiết lập này được một thời gian, nhưng dường như có một hạn chế đáng tiếc là không thể thực thi .batcác tập lệnh (mà không chuyển sang một tab khác, chạy đơn giản Cmd.exe). Có ai có cái nhìn sâu sắc về điều này?
Eoin

7

Kịch bản vba chỉ khởi chạy phím tắt Git Bash trong cùng thư mục; chỉ cần thay đổi phím tắt đó để làm cho nó trỏ vào bảng điều khiển của Console2 và định cấu hình Console2 để nó sử dụng sh của MSysGit làm vỏ của nó.


ĐÃ CẬP NHẬT

Đi sâu vào chi tiết hơn khi tôi chỉ cần làm lại trên một máy tính mới:

  • Cấu hình Console2

    1. đã thêm một tab mới gọi là "git"
    2. đặt biểu tượng thành C:\Program Files (x86)\Git\etc\git.ico
    3. đặt vỏ thành C:\Program Files (x86)\Git\bin\sh.exe --login -i
  • Tinh chỉnh lối tắt của Git Bash

    1. thay đổi mục tiêu phím tắt thành C:\Tools\Console2\Console.exe -t git -d .(nơi đặt nhị phân Console2 của bạn)
    2. thưởng thức "Git Bash Here" mới ra mắt Console2!

Thủ thuật là "-d." tùy chọn được chuyển cho Console2: Git Bash.vbstập lệnh thay đổi thư mục hiện tại thành điểm được chỉ bởi chuột trước khi khởi chạy phím tắt.

Mong rằng sẽ giúp.


5

Trong trường hợp bất kỳ ai vấp phải điều này muốn sử dụng MinGW Bash, tôi đã tìm ra giải pháp cho điều đó.

  1. Console2, Chỉnh sửa, Cài đặt, Tab, Thêm
  2. Tiêu đề = Bash
  3. Vỏ = C:\MinGW\msys\1.0\bin\sh.exe -l
  4. Chỉnh sửa sổ đăng ký

    ni hklm:software/classes/directory/shell/bash/command `
      -f -va 'c:/Console2/Console.exe -t Bash -d %v'
    
  5. Tạo ~/.profilebằng cách sau:

    cd -
    

Trang người đàn ông cd

Tác phẩm này với 64-bit và 32-bit Console2, không chắc chắn những gì coderanger là ngày về.


Có một số vấn đề với lệnh này khiến giao diện điều khiển trả về lỗi. Đầu tiên, HKCR\...\commandkhông nên kèm theo dấu ngoặc kép. Tiếp theo, tôi tin rằng \-dbạn có nghĩa là truyền /dtham số để chỉ định dữ liệu cho mục đăng ký mới. Ngoài ra, bạn cần báo giá kép xung quanh giá trị dữ liệu và -ttham số khiến Console.exe hoàn toàn không mở, vì vậy loại trừ điều đó. Nó sẽ trông như thế này:reg add HKCR\Directory\shell\Bash\command /d "C:\Console2\Console.exe -d \"%V\""
David Kennedy

Rõ ràng từ nhận xét của bạn rằng bạn vẫn đang sử dụng cmd.exe, vì Bash cho phép sử dụng dấu ngoặc đơn và dấu ngoặc kép cho chuỗi. Bạn nên xem xét nâng cấp lên Bash.
Steven Penny

0

Giả sử bạn có tab Console2 có tên '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\"\\"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.