Flutter 为什么Process.runSync在Windows上提前终止?

Flutter 为什么Process.runSync在Windows上提前终止?,flutter,dart,Flutter,Dart,根据文件 启动一个进程并运行到完成 但是,当你跑的时候 ProcessResult results = Process.runSync('dir', []); 结果.stdout仅包含第一行“驱动器C中的卷没有标签”。其余的内容不在那里 但是,如果您检查执行情况,请使用 Process.start('dir', []).then(Process p) { p.stdout.transform(utf8.decoder) .listen(data) { print(dat

根据文件

启动一个进程并运行到完成

但是,当你跑的时候

ProcessResult results = Process.runSync('dir', []);
结果.stdout
仅包含第一行“驱动器C中的卷没有标签”。其余的内容不在那里

但是,如果您检查执行情况,请使用

Process.start('dir', []).then(Process p) {
  p.stdout.transform(utf8.decoder)
    .listen(data) {
      print(data);
    } 
});
  p.exitCode.then((exitCode) {
    print('exit code: $exitCode');
  });
您将看到完整的输出在那里,但是拼接成了几个块,并且只有一个正常的退出信号


似乎
Process.runSync
并不像在Windows平台上宣传的那样。仅供参考:我还尝试了MacOS上的简单测试,它的工作原理与预期一致。我还没有在Linux上测试过它。

这实际上不是一个真正的问题。这是一个令人困惑的vscode UI显示。更多详情请参见