包A依赖于包B(0.1.0)。我可以修改包 B,重新发布它 (0.1.1),然后切换回包 A,我运行 SBT 干净,重新启动 SBT,然后运行编译,它获取最新版本并了解类已更改。
然而,恩西姆什么也没做。似乎对旧班有一些记忆。删除.ensime_cache无济于事。重新创建 .ensime 文件似乎显示它解决了我想要的最新版本的包,但什么也没做。关闭并重新打开文件无济于事。运行 M-x ensime 不会执行任何操作。检查班级显示旧版本,它显然住在某个地方,但我不知道在哪里。
请帮助我了解ensime在做什么。
好的 - 问题是我对 emacs 通过 ensime 如何与 SBT 通信的理解。我在一个外壳中运行自己的SBT,自然,Ensime对此一无所知。
但是,如果我运行 ensime-sbt,那么清理/重新运行,那么 ensime 会拾取更改,所有编辑都可以和平进行。因此,它似乎运行自己的内部 sbt,即使您没有显式运行 ensime-sbt。或者如果它不这样做,效果至少是一样的......