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

Dart中stdin.readLineSync无法接收用户回车输入的问题

Dart CLI 输入无响应问题排查与解决

针对你遇到的Dart CLI程序输入无响应问题,可按以下步骤排查解决:

1. 强制刷新输出缓冲

Windows环境下,stdout默认采用行缓冲机制,部分场景下输出不会立即显示到控制台。在输出提示文本后添加stdout.flush()强制刷新缓冲,确保提示信息及时显示:

import 'dart:io';

void main() {
  stdout.writeln('Enter text: ');
  stdout.flush(); // 强制刷新输出缓冲
  var input = stdin.readLineSync();
  stdout.writeln('Entered $input');
}

2. 确认VSCode终端配置生效

将dart.cliConsole设置为terminal后,重启VSCode使配置生效。同时可尝试切换终端类型:在VSCode终端中点击下拉菜单,选择"Command Prompt"替代PowerShell,部分场景下PowerShell的交互兼容性较差。

3. 正确编译与运行程序

  • 编译时使用官方推荐命令生成可执行文件:
    dart compile exe your_script.dart
    
  • 在CMD窗口中直接运行生成的.exe文件,避免通过第三方工具或间接方式启动程序。
  • 检查Dart SDK版本,升级到最新稳定版(可通过dart --version查看版本,下载最新版覆盖安装即可)。

4. 排查系统环境干扰

  • 暂时关闭杀毒软件或防火墙,部分安全软件可能拦截Dart程序的输入输出交互。
  • 尝试以管理员身份运行CMD窗口,避免权限不足导致的交互异常。

内容的提问来源于stack exchange,提问作者tomsyty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 05:23:13