You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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包

  1. 在pubspec.yaml中添加依赖:
dependencies:
  logger: ^2.0.2+1
  1. 运行flutter pub get安装依赖
  2. 示例代码:
import 'package:logger/logger.dart';

void main() {
  final logger = Logger();
  
  logger.d('这是调试信息(灰色)');
  logger.i('这是普通信息(蓝色)');
  logger.w('这是警告信息(黄色)');
  logger.e('这是错误信息(红色)');
}

这个包不仅自动添加颜色,还会区分不同级别的日志类型。

示例2:使用colorize包

  1. 添加依赖到pubspec.yaml:
dependencies:
  colorize: ^3.0.0
  1. 安装后使用示例:
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 13:53:25