如何在Flutter或Dart项目中打印彩色日志?(VSCode环境)
在VSCode中实现Flutter/Dart项目的彩色print输出
你可以通过两种简单方式在VSCode终端里让Dart/Flutter的print输出显示不同颜色:
方法一:直接使用ANSI转义序列
终端支持ANSI转义码的情况下,你可以在print的字符串中插入颜色控制代码来改变文本颜色。格式为:\x1B[颜色代码m 开头,\x1B[0m 结尾(用于重置颜色,避免后续文本也继承当前颜色)。
常用颜色代码示例:
- 红色:31
- 绿色:32
- 黄色:33
- 蓝色:34
- 紫色:35
- 青色:36
示例代码:
void main() { print('\x1B[31m这是红色的打印文本\x1B[0m'); print('\x1B[32m这是绿色的打印文本\x1B[0m'); print('\x1B[33m这是黄色的打印文本\x1B[0m'); }
运行后,VSCode终端里就能看到对应颜色的输出。
方法二:使用第三方包简化操作
如果不想手动写转义码,可以用现成的Dart包来简化彩色输出:
示例1:使用logger包
- 在
pubspec.yaml中添加依赖:
dependencies: logger: ^2.0.2+1
- 运行
flutter pub get安装依赖 - 示例代码:
import 'package:logger/logger.dart'; void main() { final logger = Logger(); logger.d('这是调试信息(灰色)'); logger.i('这是普通信息(蓝色)'); logger.w('这是警告信息(黄色)'); logger.e('这是错误信息(红色)'); }
这个包不仅自动添加颜色,还会区分不同级别的日志类型。
示例2:使用colorize包
- 添加依赖到
pubspec.yaml:
dependencies: colorize: ^3.0.0
- 安装后使用示例:
import 'package:colorize/colorize.dart'; void main() { print(Colorize('红色文本').red()); print(Colorize('绿色文本').green()); print(Colorize('背景黄色的文本').backgroundYellow()); }
注意事项
确保VSCode使用的终端支持ANSI颜色:
- Windows默认的PowerShell、Linux/macOS的bash/zsh都原生支持;
- 旧版CMD可能需要开启ANSI支持,不过大部分开发者现在都用PowerShell,无需额外设置。
内容的提问来源于stack exchange,提问作者Abduraimbek Yarkinov
相关产品推荐
相关产品推荐

