需要Scala帮助 - 代码完成

时间:2011-10-21 13:48:34

标签: scala code-completion

我正在为Scala编写IDE并需要一些帮助。我想实现编码帮助,以便在用户按下句点(“。”)或空格(“”)时可以显示选项列表。例如如果项目是List,则只要用户键入“项目”。或“项目”,我想展示他可以使用的scala.List的所有方法(常规IDE的东西)。我知道scala.tools.nsc.interactive包提供了这种功能,但我无法弄清楚如何做到这一点。此外,似乎交互式软件包将使用REPL,并且为此目的会很慢。这是一个公平的假设,如果是的话,还有其他选择吗?

另外,有没有办法可以获得文字/方法的调用参考树(其中all是代码库中引用的方法)?

谢谢,祝你好运 艾西瓦娅

2 个答案:

答案 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。