我正在爲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