如何测试控制台是否支持 ANSI 颜色代码?
How to test if console supports ANSI color codes?
我使用基于 fmt 的记录器,可选择彩色打印 - 这依赖于 ANSI 颜色命令。
不幸的是,在 Windows 10 上它默认被禁用。我知道如何启用它,但我仍然想了解如何测试控制台是否支持 ANSI 命令。有人知道吗?
在 Windows 上,您可以 get/set 通过 checking/setting 带有 SetConsoleMode()
or GetConsoleMode()
的 ENABLE_VIRTUAL_TERMINAL_PROCESSING
标志支持 ANSI 颜色。
还有 HKEY_CURRENT_USER\Console\VirtualTerminalLevel
注册表项用于 global virtual terminal settings. See also https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
在*nix上你可以使用以下方式
我使用基于 fmt 的记录器,可选择彩色打印 - 这依赖于 ANSI 颜色命令。
不幸的是,在 Windows 10 上它默认被禁用。我知道如何启用它,但我仍然想了解如何测试控制台是否支持 ANSI 命令。有人知道吗?
在 Windows 上,您可以 get/set 通过 checking/setting 带有 SetConsoleMode()
or GetConsoleMode()
的 ENABLE_VIRTUAL_TERMINAL_PROCESSING
标志支持 ANSI 颜色。
还有 HKEY_CURRENT_USER\Console\VirtualTerminalLevel
注册表项用于 global virtual terminal settings. See also https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
在*nix上你可以使用以下方式