从sbt控制台中获取scala REPL历史记录

9

是否有可能获取在scala repl中输入的所有最近命令的历史记录列表?(如果运行repl时在sbt控制台内,这点很重要)。使用:history加上需要显示的回溯命令数量可以工作,但能够将其导出到可以嵌入Scala源文件的文本文件中会更好。


这个不起作用。 - matanster
1
你说它不工作是什么意思?你的 Scala 版本是多少?此外,我的 REPL 输入默认会记录到 /home/me/.scala_history/ - Michael Zajac
1
sbt 0.13.5,项目构建于Scala 2.10.3。在sbt的console命令下,:save似乎无法工作。然而,~/.scala_history确实有sbt控制台历史记录!谢谢!仍然想知道它是否应该在sbt下工作,这会更好一些... - matanster
嗯。尝试使用 scala> :save xxx - doub1ejack
2个回答

15

这是一个简单的技巧:

    scala> def history = scala.io.Source.fromFile(System.getProperty("user.home") + "/.scala_history").foreach(print)
    scala> history

11
Scala 2.11+中,有新的REPL命令可以保存输出。请参见此处:如何保存REPL会话? 在早期版本中,您可以在此处获取REPL历史记录:less ~/.scala_history

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