如何使用Flutter/Dart 打印彩色调试消息以显示彩色 Android Studio 控制台/logcat 输出? 有许多飞镖包为彩色输出提供转义字符,但 Android Studio 根本不显示它们。
其中一些是:https://github.com/iamsalnikov/colorize 或 https://pub.dev/packages/ansicolor
或者只是一些转义字符也应该有效:
print('x1B[94m $text x1B[0m');
这些消息如下所示:
[94m [36m57 2019-10-18 16:18:55.694098 FINE ui.app.dart: initial route = null[0m [0m
我的问题是,我可以交换控制台以查看转义字符吗? 或者只是其他方式?
我认为这在这一点上是不可能的。这究竟是如何工作的对我来说仍然有点不清楚,但它取决于支持AnsiEscapes方法。在 Android Studio 中运行时,这会输出false
:
import 'dart:io' as io;
print(io.stdout.supportsAnsiEscapes);
然后简单地忽略转义序列。
请注意,即使此调用将返回真正的Android Studio,也仅支持有限的ANSI颜色子集:https://youtrack.jetbrains.com/issue/IDEA-137065