我很确定我已经将Emacs,Ensime,SBT和Scala设置为正常协同工作。我可以在保存时编辑文件并查看类型错误,并成功尝试使用ensime的自动重构工具。
问题是,当我按下C-c C-v z
打开REPL时,好像我的文件中没有任何内容被加载。
换句话说,如果我定义类似
的东西 class Moose {}
在我的源文件中,当我尝试使用REPL中的Moose
时会发生这种情况
scala> Moose
<console>:8: error: not found: value Moose
Moose
^
scala> new Moose
<console>:8: error: not found: type Moose
new Moose
^
将当前缓冲区内容加载到REPL中的最佳方法是什么?
答案 0 :(得分:0)
我发现REPL实际上没有问题。我一直试图通过按C-c C-b b
来编译我的项目并假设它正在工作,缓冲区*ENSIME-Compilation-Result*
会弹出:
Latest Compilation Results (q to quit, TAB to jump to next error)
----------------------------------------
0 errors, 0 warnings.
但是,我检查了target/scala-2.10/classes
目录,发现没有生成.class
个文件。
当我使用sbt
从命令行编译时,我能够以我期望的方式加载REPL。
修改强>:
我发布了一个后续问题:Building with Ensime deletes all .class files, but doesn't compile anything。