我正在运行 Emacs + ENSIME 并在 emacs 窗口(Mx 术语)中使用 sbt 来编译和运行测试。有没有办法点击/选择跳转到失败的测试?目前我必须向上滚动很长一段路才能找到失败的地方,然后打开正确的文件并转到行号。似乎有更简单的方法。
(长期 eclipse 用户试图转换为 Scala 的 emacs)
您无需安装 sbt.el:此功能内置于 ensime。不要在 shell 中运行 sbt,而是使用
M-x ensime-sbt
这将找到您所在的源文件的项目并自动打开错误消息检测。
我不确定 Emacs+Ensime 是如何做到的,但是下面的 sbt 的 Emacs 插件可以解析编译器错误结果,因此单击错误消息会跳转到失败源文件中的适当位置。
https://github.com/stevej/emacs/blob/master/support/sbt.el
我相信失败的测试不会产生有关文件和行号的信息(但这取决于您正在运行的测试类型)。如果可以的话,也许这个插件可以工作,或者被增强工作..