Dayakan Sokongan Warna ANSI pada Windows 10: Dilema Berterusan
Pada Windows 10, menambah warna pada output konsol menggunakan urutan pelarian ANSI ialah ciri yang agak terkini. Walau bagaimanapun, isu pelik baru-baru ini muncul apabila warna ANSI gagal dipaparkan dengan betul pada mesin tertentu.
Ringkasan Situasi:
Seorang pengguna melaporkan bahawa aplikasi yang memaparkan warna ANSI dalam konsol tiba-tiba berhenti berfungsi. Apl ini berfungsi seperti yang dimaksudkan pada komputer riba lain tetapi gagal pada mesin Windows 10 mereka sendiri (v14393).
Penyiasatan dan Penyelesaian Masalah:
Penyelesaian:
Kunci untuk menyelesaikan isu ini terletak pada mendayakan pemprosesan terminal maya pada Windows. Tetapan ini diperkenalkan dalam kemas kini yang menyebabkan masalah.
Untuk mengaktifkan pemprosesan terminal maya, tambah kod berikut pada fungsi init() dalam aplikasi Go anda:
<code class="go">import ( "golang.org/x/sys/windows" "os" ) // +build 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 mengubah suai mod konsol untuk mendayakan pemprosesan terminal maya, memastikan urutan pelarian warna ANSI dihuraikan dan dipaparkan dengan betul.
Kesimpulan:
Dengan melaksanakan penyelesaian di atas, isu ini warna ANSI yang tidak berfungsi pada Windows 10 akan diperbaiki. Dengan mendayakan pemprosesan terminal maya, aplikasi anda sekali lagi boleh memaparkan warna yang kaya dalam konsol, tanpa mengira sistem atau tetapan pengguna.
Atas ialah kandungan terperinci Mengapa Warna ANSI Tidak Dipaparkan dalam Konsol Windows 10 Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!