Windows 10 で Ansi Colors が機能しない: 修正
最近の開発により、Windows 10 ではカラー印刷を可能にするコンソールが導入されました。 Ansi エスケープ シーケンス。ただし、一部のユーザーは、ラップトップでこれらの色が正しく表示されないという問題に遭遇しています。
そのようなユーザーの 1 人は、Windows 10.0.14393 でバイナリを使用しており、Ansi カラー印刷が nodejs アプリで問題なく動作することを観察しましたが、独自のアプリケーションではありません。コンソールに関連付けられているレジストリ キーとショートカットを削除し、バイナリを別のユーザーとして実行しても、問題は解決しません。
解決策: 仮想ターミナル処理を有効にする
キーこの問題を解決するには、Windows で仮想端末処理 (VTP) を有効にする必要があります。これは、最近の更新以降、必須になっています。次の手順に従うことができます:
初期化ファイル (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) }
注: この解決策は、この問題スレッドから適応されました: [https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264] (https://github.com/sirupsen/logrus/issues/172#issuecomment-353724264)
以上がWindows 10 で ANSI カラーが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。