Git Bash in Windows 终端不呈现 Picocli ANSI 颜色代码

Git Bash in Windows Terminal not rendering Picocli ANSI color codes

我已将 Git Bash 添加到 Windows 终端,如 中所述。我的个人资料如下所示:

{
    "guid": "{00000000-0000-0000-ba54-000000000002}",
    "commandline": "%PROGRAMFILES%/git/usr/bin/bash.exe -i -l",
    "icon": "%PROGRAMFILES%/Git/mingw64/share/git/git-for-windows.ico",
    "name": "Git Bash",
    "startingDirectory": "%USERPROFILE%",
}

我有一个 Picocli 应用程序,它的帮助消息有彩色输出。当我在 Windows 终端中调用 Git Bash 中的帮助消息时,它会打印 ANSI 颜色代码而不是为文本着色。为了演示这种行为,我使用了 Picocli 文档的 example application

当我 运行 在 Git Bash 的终端上执行相同的命令时,颜色正确呈现:

问题

如何在 Windows 终端中获取 Git Bash 以在 Picocli 应用程序中呈现 ANSI 颜色?

附加信息

如下图所示,Git Bash 和 Windows 终端中的正确文本着色可能会发生(我使用不使用 Picocli 的 Robot Framework 进行了演示) ,所以我的问题是 Picocli 特有的。

为了在 Windows 上显示 ansi 颜色,我强烈建议应用程序将 Jansi 库与 picocli 结合使用。

Unless the specific software you’re using (e.g. java) enables ANSI processing by calling the SetConsoleMode API with the ENABLE_VIRTUAL_TERMINAL_PROCESSING (0x0400) flag (java doesn’t), you won’t see colors or get ANSI processing for that application.

Jansi 解决了这个问题。

有关详细信息,请参阅:https://picocli.info/#_windows