0
스칼라 용으로 내 자신의 IDE를 만들기를 고대하고 있습니다. 완전한 무언가가 아닌 쉬운 일이되어야합니다. 그것도 지능적인 자동 완성 (일명 인텔리 센스)을 갖추어야하는 기본적인 기능 중 하나입니다. 문서가 부족하기 때문에이 커뮤니티에 도움을 요청하고 있습니다. 현재 코드에 추가하기 위해 기본적인 스 니펫을 만들기를 고대하고 있습니다. 이것은 내가 지금까지 무엇을 가지고 :지능형 자동 완성을 위해 scala.tools.nsc.interpreter 사용
val engine = new ScriptEngineManager().getEngineByName("scala")
val settings = engine.asInstanceOf[scala.tools.nsc.interpreter.IMain].settings
// MyScalaClass is just any class in your project
settings.embeddedDefaults[TestClass]
settings.usejavacp.value = true
val reporter = new StoreReporter()
val compiler = new Global(settings, reporter)
val r = new Response[Unit]
val af = AbstractFile.getFile("/home/me/test.txt")
val filePath = af.path
val content = scala.io.Source.fromFile(filePath).mkString
val sf = new BatchSourceFile(af, content)
val pos = new OffsetPosition(sf, content.length-1)
println("Content: ")
println (content)
println("Offset: "+content.length)
val allFiles = List(sf)
compiler.askReload(allFiles, r)
val response = new Response[List[compiler.Member]]
compiler.askTypeCompletion(pos, response)
//compiler.askScopeCompletion(pos, response)
val responseList = response.get(15000)
println("Size: "+responseList.size)
responseList.foreach(println _)
은 "responseList는"비어 매우 시간이 ...