Rumah >pembangunan bahagian belakang >Golang >Mengapa Warna ANSI Saya Tidak Berfungsi pada Windows 10?
Ansi Colors Not Functioning on Windows 10: A Fix
Dalam perkembangan terkini, Windows 10 telah memperkenalkan konsol yang membenarkan pencetakan warna melalui Urutan melarikan diri Ansi. Walau bagaimanapun, sesetengah pengguna telah menghadapi masalah di mana warna ini gagal dipaparkan dengan betul pada komputer riba mereka.
Seorang pengguna sedemikian, menggunakan binari pada Windows 10.0.14393, mendapati bahawa pencetakan warna Ansi berfungsi dengan sempurna dalam apl nodejs tetapi bukan dalam aplikasi mereka sendiri. Walaupun telah memadamkan kunci pendaftaran dan pintasan yang dikaitkan dengan konsol dan menjalankan binari sebagai pengguna yang berbeza, isu ini berterusan.
Penyelesaian: Dayakan Pemprosesan Terminal Maya
Kuncinya untuk menyelesaikan isu ini terletak pada mendayakan Pemprosesan Terminal Maya (VTP) pada Windows, yang diperlukan sejak kemas kini terkini. Langkah berikut boleh diikuti:
Buat Fail Permulaan (init_windows.go):
Tambahkan kod berikut pada fail bernama init_windows.go:
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) }
Nota: Penyelesaian ini telah disesuaikan daripada urutan isu ini: [https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264] (https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264)
Atas ialah kandungan terperinci Mengapa Warna ANSI Saya Tidak Berfungsi pada Windows 10?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!