ANSI-Farben funktionieren unter Windows 10 nicht: Behebung des Problems
Konsolenausgabe mit Farbe ist eine neue Ergänzung zu Windows 10, die für Spannung sorgt Entwickler. Bei einigen Benutzern sind jedoch Probleme aufgetreten, bei denen es plötzlich nicht mehr funktioniert, insbesondere auf bestimmten Laptops mit Windows 10.0.14393.
Ursache und Lösung
Der Schuldige hinter diesem Problem ist das Fehlen einer virtuellen Terminalverarbeitung in Windows. Diese Funktion muss aktiviert sein, um die korrekte Anzeige von ANSI-Farbcodes zu ermöglichen.
Um die virtuelle Terminalverarbeitung zu aktivieren, führen Sie die folgenden Schritte aus:
Erstellen Sie eine Datei mit dem Namen init_windows.go mit dem folgenden Code:
<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>
Dieser Code legt die virtuelle Terminalverarbeitung in Windows fest, ohne dass es zu Konflikten mit anderen Betriebssystemen kommt.
Zusätzliche Hinweise
Neustart der Anwendung, Löschen von Benutzereinstellungen oder Erstellen neuer Benutzer wird das Problem nicht lösen. Nach dem Löschen des Registrierungsschlüssels muss die Verarbeitung des virtuellen Terminals mithilfe des bereitgestellten Codes aktiviert werden.
Credits
Die in dieser Antwort vorgestellte Lösung basiert auf dem GitHub-Problem unter https ://github.com/sirupsen/logrus/issues/172#issuecomment-353724264.
Das obige ist der detaillierte Inhalt vonWarum funktionieren ANSI-Farben auf meinem Windows 10-Laptop nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!