Les couleurs Ansi ne fonctionnent pas sous Windows 10 : un correctif
Dans les développements récents, Windows 10 a introduit une console qui permet l'impression couleur via Séquences d'échappement Ansi. Cependant, certains utilisateurs ont rencontré un problème où ces couleurs ne s'affichent pas correctement sur leurs ordinateurs portables.
L'un de ces utilisateurs, utilisant un binaire sous Windows 10.0.14393, a observé que l'impression couleur Ansi fonctionnait parfaitement dans une application nodejs, mais pas dans leur propre application. Malgré la suppression de la clé de registre et du raccourci associés à la console et l'exécution du binaire en tant qu'utilisateur différent, le problème a persisté.
Solution : Activer le traitement du terminal virtuel
La clé La résolution de ce problème consiste à activer le traitement du terminal virtuel (VTP) sous Windows, ce qui est requis depuis une mise à jour récente. Les étapes suivantes peuvent être suivies :
Créer un fichier d'initialisation (init_windows.go) :
Ajoutez le code suivant à un fichier nommé 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) }
Remarque : Cette solution a été adaptée de ce fil de discussion : [https://github.com/sirupsen/logrus/issues/172#issuecomment -353724264] (https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!