我使用基于 fmt 的记录器和可选的彩色打印 - 它依赖于 ANSI 颜色命令。
不幸的是,在 Windows 10 上它默认被禁用。我知道如何启用它,但我仍然想知道如何测试控制台是否支持 ANSI 命令。有人知道吗?
我使用基于 fmt 的记录器和可选的彩色打印 - 它依赖于 ANSI 颜色命令。
不幸的是,在 Windows 10 上它默认被禁用。我知道如何启用它,但我仍然想知道如何测试控制台是否支持 ANSI 命令。有人知道吗?
在 Windows 上,您可以通过使用或检查/设置ENABLE_VIRTUAL_TERMINAL_PROCESSING
标志来获取/设置 ANSI 颜色支持。SetConsoleMode()
GetConsoleMode()
还有用于全局虚拟终端设置HKEY_CURRENT_USER\Console\VirtualTerminalLevel
的注册表项。另请参阅https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
在 *nix 上,您可以使用以下方式