Maison >développement back-end >Golang >Comment résoudre les problèmes d'affichage couleur ANSI sous Windows 10 ?

Comment résoudre les problèmes d'affichage couleur ANSI sous Windows 10 ?

DDD
DDDoriginal
2024-10-28 12:22:31613parcourir

  How to Fix ANSI Color Display Issues on Windows 10?

Couleurs Ansi sur Windows 10 : résolution des problèmes d'affichage

Windows 10 a introduit la prise en charge des couleurs pour les consoles, permettant aux développeurs d'utiliser les codes de couleur ANSI pour améliorer leurs applications. Cependant, certains utilisateurs ont rencontré des problèmes avec des couleurs ANSI qui ne s'affichaient pas correctement, notamment après une mise à jour spécifique de Windows.

Cause :

Le problème survient en raison d'un changement de traitement du terminal sous Windows 10. Par défaut, ce traitement est désactivé, empêchant l'affichage correct des couleurs ANSI.

Solution :

Pour résoudre ce problème, le traitement du terminal virtuel doit être activé. Ceci peut être réalisé en ajoutant un fichier init_windows.go à votre projet. Le code ci-dessous, extrait du fil de discussion Github sur la bibliothèque logrus, définit le mode de traitement du terminal virtuel nécessaire :

<code class="go">// 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)
}</code>

En incluant ce fichier dans votre projet, vous vous assurerez que le traitement du terminal virtuel est activé, permettant le bon affichage des couleurs ANSI dans vos applications console.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn