2010-10-21 70 views
16

Có cách nào để bật hỗ trợ màu cho Mercurial trong Powershell trên Windows 7 không? Trang ColorExtension nói thêmMở rộng màu Mercurial trong Windows Powershell

[color] 
mode = win32 

đến file .hgrc của bạn, nhưng nó dường như không tạo sự khác biệt.

Chạy hg status hiển thị một số tệp chưa được thêm vào kho lưu trữ và tôi tin rằng chúng phải có màu hồng (dựa trên các thiết bị đầu cuối khác mà tôi đã nhìn thấy). Đây là nội dung được hiển thị thay thế:

←[0;35;1;4m? samplefile.php←[0m 
←[0;35;1;4m? anotherfile.php←[0m 
←[0;35;1;4m? derpderp.xml←[0m 
←[0;35;1;4m? derp_model.php←[0m 
←[0;35;1;4m? stillnocolor.php←[0m 

Trả lời

15

Bạn có thể cần phải cập nhật mới nhất lanh (1,6 .4). Phiên bản 1.5.4 nói riêng không làm màu win32 đúng cách (và có khá nhiều lỗi liên quan đến màu sắc và win32 được sửa trong các bản dựng gần đây).

Bạn cũng cần đảm bảo rằng bạn không chỉ định chế độ màu ANSI. Bạn có thể buộc win32:

[color] 
mode = win32 
+0

Đẹp bắt, tôi đã không nhận ra tôi đã chạy một phiên bản cũ. – derekerdmann

+0

Không hoạt động trong Mercurial 2.8. Xem câu trả lời của tôi để biết thêm thông tin. –

4

Bạn cũng đảm bảo bật ColorExtension? Bạn cần điều này trong .hgrc của bạn quá:

[extensions] 
color = 

Nếu đó là có quá bạn có thể chắc chắn rằng các thiết lập của bạn đang được nhặt với:

hg --debug showconfig 
+0

Có, tiện ích được bật. Cài đặt chỉ hiển thị tốt, vì vậy tôi không chắc chắn lý do tại sao chúng không được hiển thị. – derekerdmann

0

ColorExtension không hoạt động trong PowerShell như các phiên bản 2.8, xem https://www.mercurial-scm.org/pipermail/mercurial-devel/2013-November/054620.html:

Khi sử dụng màu sắc của Windows PowerShell không hoạt động (mặc dù nó hoạt động hoàn toàn tốt đẹp với cmd.exe) .

Có vẻ như mặc dù được gọi, _kernel32.SetConsoleTextAttribute không có tác dụng khi chạy trong PowerShell.

Đây là Mercurial bug 4093 đã được giải quyết là "sẽ không khắc phục". Một giải pháp khác là sử dụng ansicon. Xem câu trả lời this để biết thêm thông tin.

+0

Xem thêm https://github.com/adoxa/ansicon/issues/13 và ... để có được sự tốt lành, sử dụng ConEmu (có hỗ trợ ANSI) http://code.google.com/p/conemu-maximus5/ – Jaykul

Các vấn đề liên quan