Windows 10上的Ansi颜色,无法正常工作

Console with colours is fairly new and exciting for Windows :-)

I wrote some programs that printed using the ansi colour escapes and all was good ...

... then suddenly it stopped working. Or at least stopped on my laptop, Windows 10.0.14393

The app that fails on my machine does so in a console that a nodejs app has displayed colour in, the same binary runs with the correct colour on another laptop.

golang fmt.Println("\033[31mSome Text\033[0m")

It looks like this

left-top, console node output, left-bottom, my app failing, right vscode

httpDump.exe is the name of this demo (in case it was confusing)

It does display correctly in the vscode integrated terminal window.

I've tried deleting the HKLM\Console registry entry and restarting (several times). I deleted the short-cut that may have settings in it. I've tried running as another user on this machine (does not work)

I'd welcome any hints.

You have to enable virtual terminal processing on Windows since that update.

I usually add a file init_windows.go which sets this in windows but is also compatible with other OS:

// +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)
}

as copied from: https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264