我正在为Scala编写IDE并需要一些帮助。我想实现编码帮助,以便在用户按下句点(“。”)或空格(“”)时可以显示选项列表。例如如果项目是List,则只要用户键入“项目”。或“项目”,我想展示他可以使用的scala.List的所有方法(常规IDE的东西)。我知道scala.tools.nsc.interactive包提供了这种功能,但我无法弄清楚如何做到这一点。此外,似乎交互式软件包将使用REPL,并且为此目的会很慢。这是一个公平的假设,如果是的话,还有其他选择吗?
另外,有没有办法可以获得文字/方法的调用参考树(其中all是代码库中引用的方法)?
谢谢,祝你好运 艾西瓦娅
答案 0 :(得分:2)
好吧,你最好的选择是通过我在回答this question时提供的同一组链接,即使问题不同。
答案 1 :(得分:2)
是的,scala.tools.nsc.interactive
下的演示文稿编译器是可重用功能的所在。
Eclipse和ENSIME使用表示编译器。可能是ENSIME本身除了提供emacs支持之外还提供服务器作为编辑器的后端将是一个很好的途径。
演示编译器并不慢。它是从头开始设计的,旨在为Eclipse提供良好的性能,并且它在很大程度上实现了这一目标。
对于某些演示文稿编译器功能,请参阅scala.tools.nsc.interactive.CompilerControl。
对于使用ENSIME的另一个项目,请查看Daniel Spiewak's plugin获取jEdit。