使用 Dart 读取值时,VSCode 上出现“全局求值需要已加载线程”异常

Hum*_*rro 6 dart visual-studio-code

我一直在尝试在 VSCode 上运行类似的 Dart 代码:

import "dart:io";
void main() {
  print("Input a number");
  int numA = int.parse(stdin.readLineSync()!);
  print("The number is $numA");
}
Run Code Online (Sandbox Code Playgroud)

但是,在为用户输入数字(废话)打印“输入数字”后,程序冻结并显示消息“全局评估需要已加载线程”

读取值时出现异常

相同的程序在任何地方都可以正常运行,例如JDoodle和 IntelliJ。伙计们,知道发生了什么事情吗?Stackoverflow 上没有任何线程提供答案。

Dan*_*eny 10

默认情况下,应用程序在调试控制台中运行,其中输入用作 REPL 来计算表达式。如果您想与stdin该流程进行交互,则需要将应用程序设置为在终端中运行。

您可以使用包含以下内容的启动配置来执行此操作:

"console": "terminal",
Run Code Online (Sandbox Code Playgroud)

或者,您可以在 VS Code 中设置dart.cliConsole设置:

"dart.cliConsole": "terminal"
Run Code Online (Sandbox Code Playgroud)


小智 8

您需要做的就是更改dart:cli控制台https://i.stack.imgur.com/IDlc1.png

1.转到扩展 2.dart 扩展设置。3.管理设置https://i.stack.imgur.com/Ynozr.png 4.在设置中向下滚动到“dart:cli”并将其连接到终端。