Windows 10에서 ANSI 색상 지원 활성화: 지속적인 딜레마
Windows 10에서 ANSI 이스케이프 시퀀스를 사용하여 콘솔 출력에 색상을 추가하는 것은 비교적 최근의 기능입니다. 그러나 최근 특정 컴퓨터에서 ANSI 색상이 올바르게 표시되지 않는 특이한 문제가 나타났습니다.
상황 요약:
한 사용자가 ANSI 색상을 표시하는 응용 프로그램이 콘솔이 갑자기 작동을 멈췄습니다. 앱이 다른 노트북에서는 의도한 대로 작동하지만 자체 Windows 10 컴퓨터(v14393)에서는 작동하지 않습니다.
조사 및 문제 해결:
해결책:
이 문제를 해결하는 열쇠는 Windows에서 가상 터미널 처리를 활성화하는 것입니다. 이 설정은 문제를 일으킨 업데이트에서 도입되었습니다.
가상 터미널 처리를 활성화하려면 Go 애플리케이션의 init() 함수에 다음 코드를 추가하세요.
<code class="go">import ( "golang.org/x/sys/windows" "os" ) // +build 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>
이 코드 가상 터미널 처리를 활성화하도록 콘솔 모드를 수정하여 ANSI 색상 이스케이프 시퀀스가 올바르게 구문 분석되고 표시되도록 합니다.
결론:
위 솔루션을 구현하면 문제가 발생합니다. Windows 10에서 작동하지 않는 ANSI 색상이 해결됩니다. 가상 터미널 처리를 활성화하면 시스템이나 사용자 설정에 관계없이 애플리케이션이 다시 한 번 콘솔에 풍부한 색상을 표시할 수 있습니다.
위 내용은 Windows 10 콘솔에 ANSI 색상이 표시되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!