【发布时间】:2014-05-12 14:22:18
【问题描述】:
我希望我遗漏了一些东西,因为当程序在 sbt 中运行时,击键似乎不会回显到屏幕上。 这是一个例子:
object ConsoleTest extends App {
println("Enter a line:")
val input = Console.readLine()
println("You entered: " + input)
}
当我编译这个简单的代码并从命令行(在 sbt 之外)运行它时,当我键入它们进行输入时,我看到了击键,并且一切正常。
不幸的是,当我使用 sbt 编译和运行相同的代码时,它根本不会将击键回显到屏幕上。这是一次令人不安的经历。
有其他人经历过这种差异吗?
我已经进行了一些搜索以查看其他人是否遇到此问题以及是否可能存在 sbt 运行时参数以允许击键回显。到目前为止没有运气。
我正在使用 sbt-0.13.2 并且上述代码的 Java 版本也遇到了同样的差异,因此它似乎本地化为在 sbt 环境中运行。
任何见解都值得赞赏。
【问题讨论】:
-
您正在运行什么操作系统?你从什么终端运行 sbt?
-
Windows 7 专业版、MS-DOS 外壳、Java 1.7、Scala 2.10.4。如果不清楚,println 工作正常,它是先前的 readLine,它的击键没有在 SBT 中回显。
-
输入打印是否正常,即使字符没有回显到屏幕上?它会停止等待输入吗?
-
是的,println 工作正常。唯一的问题是击键在键入时不会在屏幕上回显;这令人不安。但是,击键被作为标准输入处理,当输入返回时,程序继续执行 println。我的同事也有同样的困难,但它似乎在 *nix shell(但不是 Cygwin)中运行良好。感谢您的帮助。
-
我遇到了同样的问题,OSX、bash、iTerm 和终端。 sbt 单独工作,但 sbt 控制台没有。你有想过吗?
标签: sbt