Ansi-Farben funktionieren unter Windows 10 nicht: Eine Lösung
In den jüngsten Entwicklungen hat Windows 10 eine Konsole eingeführt, die Farbdruck über ermöglicht Ansi-Escape-Sequenzen. Einige Benutzer sind jedoch auf ein Problem gestoßen, bei dem diese Farben auf ihren Laptops nicht korrekt angezeigt werden.
Ein solcher Benutzer, der eine Binärdatei unter Windows 10.0.14393 verwendete, stellte fest, dass der Ansi-Farbdruck in einer NodeJS-App jedoch einwandfrei funktionierte nicht in ihrer eigenen Anwendung. Obwohl der mit der Konsole verknüpfte Registrierungsschlüssel und die Verknüpfung gelöscht und die Binärdatei als ein anderer Benutzer ausgeführt wurden, blieb das Problem weiterhin bestehen.
Lösung: Virtuelle Terminalverarbeitung aktivieren
Der Schlüssel Die Lösung dieses Problems besteht darin, Virtual Terminal Processing (VTP) unter Windows zu aktivieren, was seit einem aktuellen Update erforderlich ist. Die folgenden Schritte können befolgt werden:
Erstellen Sie eine Initialisierungsdatei (init_windows.go):
Fügen Sie den folgenden Code zu einer Datei mit dem Namen init_windows.go hinzu:
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) }
Hinweis: Diese Lösung wurde aus diesem Problemthread übernommen: [https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264] (https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264)
Das obige ist der detaillierte Inhalt vonWarum funktionieren meine ANSI-Farben unter Windows 10 nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!