无法使用stdout.write在VSCode的控制台中打印输出结果

7
我正在VSCode中运行一个flutter应用程序,并想使用以下代码将内容打印到控制台:
  stdout.write('Text');

但是在执行这行代码后,控制台没有显示任何内容。为什么会这样呢?(print命令可以正常输出)。
编辑: print函数工作正常。我只是想在不换行的情况下在for循环中打印一些东西,这就是我试图使用stdout.writeln的原因。最终,我通过在for循环中构建字符串,并使用print函数仅打印一次来实现了我的目标。

stdout.writeln('Text'); 怎么样? - Spatz
@SergeySolodukhin 同样的结果 :( 没有任何输出。 - Rod
我有这个问题。打印有时可以工作,但通常不行。这非常令人沮丧,使问题的追踪变得极其困难。 - Christian Findlay
你是如何运行的?是通过命令行在集成终端中运行吗?还是使用内置的调试器?还是其他方式? - undefined
4个回答

2

我曾经遇到过同样的问题,使用了StringBuffer和一个最终的print将其“解决”:

final StringBuffer buffer = StringBuffer();
for (var i = 0; i < 100; i++) {
  buffer.write('$i, ');
}
print(buffer.toString());

0

我也是。在我的情况下,这段代码

import 'dart:io';

void main() {
  for (int i = 0; i <= 10; i = i + 2) {
    stdout.write('$i ');
  }
}

不要在 VS Code 控制台中显示此输出。
0 2 4 8 10

在其他的集成开发环境中是可以的,所以我猜测这是 VS Code 的问题。


0

只需使用 print("Hello console"); =D


1
我知道这已经很老了,但是为了让其他初学者意识到:print()会打印一个新行,而stdout.write()则不会,因此print()并不总是最好的选择。 - McGuy

-1

我自己也遇到了同样的问题。

不幸的是,我无法告诉您为什么终端日志上的stdout无法工作,但我可以告诉您,您可以在Logging部分使用Dart DevTools查看它们。


2
它没有回答这个问题,请查看如何回答 - Pavel Anikhouski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接