Maison  >  Article  >  développement back-end  >  Pourquoi les couleurs ANSI ne fonctionnent-elles pas sur mon ordinateur portable Windows 10 ?

Pourquoi les couleurs ANSI ne fonctionnent-elles pas sur mon ordinateur portable Windows 10 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-27 05:43:02761parcourir

Why are ANSI Colors Not Working on My Windows 10 Laptop?

Les couleurs ANSI ne fonctionnent pas sous Windows 10 : résoudre le problème

La sortie de la console avec couleur est un ajout récent à Windows 10, ce qui suscite l'enthousiasme développeurs. Cependant, certains utilisateurs ont rencontré des problèmes où il cesse soudainement de fonctionner, en particulier sur certains ordinateurs portables équipés de Windows 10.0.14393.

Cause et solution

Le coupable derrière ce problème est l'absence de traitement de terminal virtuel sous Windows. Cette fonctionnalité doit être activée pour permettre l'affichage correct des codes couleur ANSI.

Pour activer le traitement du terminal virtuel, suivez ces étapes :

  1. Dans le registre, accédez à HKLMConsole et supprimez le clé entière.
  2. Créez un fichier nommé init_windows.go avec le code suivant :

    <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, &amp;originalMode)
        windows.SetConsoleMode(stdout, originalMode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING)
    }</code>
  3. Enregistrez le fichier et créez votre application.

Ce code définit le traitement du terminal virtuel dans Windows sans entrer en conflit avec d'autres systèmes d'exploitation.

Notes supplémentaires

Redémarrage de l'application, suppression des paramètres utilisateur ou création de nouveaux utilisateurs ne résoudra pas le problème. La suppression de la clé de registre doit être suivie de l'activation du traitement du terminal virtuel à l'aide du code fourni.

Crédits

La solution présentée dans cette réponse est adaptée du problème GitHub sur 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!

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