我正在为Scala编写一个IDE,需要一些帮助。我希望实现编码协助,以便在用户按下句点(“。”)或空格(“”)时显示选项列表。例如如果项目是列表,只要用户输入“项目”即可。或“项目”,我想展示他可以使用的所有scala.lib的方法(常规IDE的东西)。我知道scala.tools.nsc.interactive包提供了这种功能,但我无法弄清楚如何去做。此外,交互式软件包似乎会使用REPL,并且为此目的会很慢。这是一个公平的假设,如果是的话,有没有其他的选择?需要Scala帮助 - 代码完成
另外,有没有一种方法,我可以得到一个文字/方法的调用引用树(其中所有是在代码库中引用的方法)?
感谢和问候 艾西瓦娅
交互式包不使用REPL。 REPL的东西大多是'scala.tools.nsc.interpreter'。我喜欢使用表示编译器的概念是,在升级scala版本时,它总是支持最新的语言语法,因为它是作为编译器的一部分提供的。它旨在快速交互式使用。我认为它可以成为在各种编辑器和IDE中具有优秀Scala支持的基石。 – huynhjl
谢谢大家。我在https://github.com/asinghal/SlateIDE/blob/master/src/net/slate/editor/completion/ScalaCodeCompletor.scala中实现了代码完成(以防万一需要它)。 – aishwarya