Warna ANSI tidak berfungsi pada Windows 10: Menyelesaikan Isu
Output konsol dengan warna ialah tambahan terbaru pada Windows 10, membawa keseronokan kepada pemaju. Walau bagaimanapun, sesetengah pengguna mengalami masalah apabila ia berhenti berfungsi secara tiba-tiba, khususnya pada komputer riba tertentu dengan Windows 10.0.14393.
Punca dan Penyelesaian
Penyebab di sebalik masalah ini ialah ketiadaan pemprosesan terminal maya dalam Windows. Ciri ini mesti didayakan untuk membolehkan paparan kod warna ANSI yang betul.
Untuk mendayakan pemprosesan terminal maya, ikut langkah berikut:
Buat fail bernama init_windows.go dengan kod berikut:
<code class="go">// +build windows package main import ( "os" "golang.org/x/sys/windows" ) func init() { stdout := windows.Handle(os.Stdout.Fd()) var originalMode uint32 windows.GetConsoleMode(stdout, &originalMode) windows.SetConsoleMode(stdout, originalMode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING) }</code>
Kod ini menetapkan pemprosesan terminal maya dalam Windows tanpa bercanggah dengan sistem pengendalian lain.
Nota Tambahan
Memulakan semula aplikasi, memadamkan tetapan pengguna atau mencipta pengguna baharu tidak akan menyelesaikan masalah. Memadamkan kunci pendaftaran mesti diikuti dengan mendayakan pemprosesan terminal maya menggunakan kod yang disediakan.
Kredit
Penyelesaian yang dibentangkan dalam jawapan ini disesuaikan daripada isu GitHub di https ://github.com/sirupsen/logrus/issues/172#issuecomment-353724264.
Atas ialah kandungan terperinci Mengapa Warna ANSI Tidak Berfungsi pada Komputer Riba Windows 10 Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!