>  기사  >  백엔드 개발  >  내 ANSI 색상이 Windows 10에서 작동하지 않는 이유는 무엇입니까?

내 ANSI 색상이 Windows 10에서 작동하지 않는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-28 16:58:02324검색

Why Aren't My ANSI Colors Working on Windows 10?

Windows 10에서 Ansi 색상이 작동하지 않음: 수정

최근 개발에서 Windows 10은 다음을 통해 컬러 인쇄를 허용하는 콘솔을 도입했습니다. Ansi 이스케이프 시퀀스. 그러나 일부 사용자는 이러한 색상이 노트북에서 올바르게 표시되지 않는 문제에 직면했습니다.

Windows 10.0.14393에서 바이너리를 사용하는 한 사용자는 Ansi 컬러 인쇄가 nodejs 앱에서 완벽하게 작동했지만 자체 응용 프로그램이 아닙니다. 콘솔과 관련된 레지스트리 키와 바로가기를 삭제하고 다른 사용자로 바이너리를 실행했음에도 불구하고 문제가 지속되었습니다.

해결책: 가상 터미널 처리 활성화

키 이 문제를 해결하려면 최근 업데이트 이후 요구되는 Windows에서 VTP(가상 터미널 처리)를 활성화해야 합니다. 다음 단계를 따를 수 있습니다.

  1. 초기화 파일(init_windows.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)
    }
  2. 기본 기능에서 파일 참조:
    기본 Go 파일에서 색상을 수행하기 전에 VTP를 활성화하려면 init_windows.go 파일을 참조해야 합니다. 인쇄 작업.

참고: 이 솔루션은 다음 문제 스레드에서 채택되었습니다: [https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264] (https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264)

위 내용은 내 ANSI 색상이 Windows 10에서 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.