Scala Plugin 1.3 is Available for IntelliJ IDEA 14.0.3

We’ve just released Scala Plugin 1.3! If you haven’t been following the recent EAP, here’s what this new update has to offer:

  • Debugger improvements
    • Variables from the outer scopes are visible in the Variables tab now: there is no need to evaluate expressions or step through frames anymore.
    • Step into action now works in a more natural way for lambda expressions, methods implemented in traits, default arguments, specialization methods, etc.
  • Support for Monocle
  • Unused imports inspections are now aware about the implicit parameters in the implicit conversions for extension methods
  • Possibility to have custom compiler settings for different modules
  • Fixed requirement of Invalidate Caches to get rid of weird error highlighting in project
  • Fixed Specs2 3.M1 support
  • Automake with enabled compiler server is working now
  • SBT shared source roots support for ScalaJS projects (see SCL-7859)

Find the complete list of changes in the Release Notes.

Note that to use Scala Plugin 1.3, you need the most recent version of IntelliJ IDEA (IntelliJ IDEA 14.0.3).

Don’t forget to share your feedback with us in the discussion forum and the issue tracker.

Develop with Pleasure!

This entry was posted in Release report and tagged , , , . Bookmark the permalink.

10 Responses to Scala Plugin 1.3 is Available for IntelliJ IDEA 14.0.3

  1. Sergey says:

    It is very very slow. Unfortunately. Burns all cores..

  2. barx says:

    That’s great, except that now it is useless. All attempts to compile things just throw up this:

    Error:scalac: Error: xsbt.CompilerInterface
    java.lang.ClassNotFoundException: xsbt.CompilerInterface
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at sbt.compiler.AnalyzingCompiler.getInterfaceClass(AnalyzingCompiler.scala:117)
    at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:99)
    at sbt.compiler.AnalyzingCompiler.newCachedCompiler(AnalyzingCompiler.scala:57)
    at sbt.compiler.AnalyzingCompiler.newCachedCompiler(AnalyzingCompiler.scala:52)
    at sbt.compiler.CompilerCache$$anon$2.apply(CompilerCache.scala:50)
    at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:39)
    at org.jetbrains.jps.incremental.scala.local.IdeaIncrementalCompiler.compile(IdeaIncrementalCompiler.scala:29)
    at org.jetbrains.jps.incremental.scala.local.LocalServer.compile(LocalServer.scala:26)
    at org.jetbrains.jps.incremental.scala.remote.Main$.make(Main.scala:62)
    at org.jetbrains.jps.incremental.scala.remote.Main$.nailMain(Main.scala:20)
    at org.jetbrains.jps.incremental.scala.remote.Main.nailMain(Main.scala)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.martiansoftware.nailgun.NGSession.run(NGSession.java:319)

  3. Alex says:

    same problem

  4. Ngu says:

    Try to execute code in Worksheet and get this error:

    Internal error: xsbt.CompilerInterface
    org.jetbrains.jps.incremental.scala.remote.ClientEventProcessor.process(ClientEventProcessor.scala:22)
    org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner$class.handle(RemoteResourceOwner.scala:47)
    org.jetbrains.plugins.scala.compiler.RemoteServerRunner.handle(RemoteServerRunner.scala:14)
    org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner$$anonfun$send$1$$anonfun$apply$1$$anonfun$apply$3.apply(RemoteResourceOwner.scala:30)
    org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner$$anonfun$send$1$$anonfun$apply$1$$anonfun$apply$3.apply(RemoteResourceOwner.scala:29)
    org.jetbrains.jps.incremental.scala.package$.using(package.scala:21)
    org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner$$anonfun$send$1$$anonfun$apply$1.apply(RemoteResourceOwner.scala:29)
    org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner$$anonfun$send$1$$anonfun$apply$1.apply(RemoteResourceOwner.scala:25)
    org.jetbrains.jps.incremental.scala.package$.using(package.scala:21)
    org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner$$anonfun$send$1.apply(RemoteResourceOwner.scala:25)
    org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner$$anonfun$send$1.apply(RemoteResourceOwner.scala:24)
    org.jetbrains.jps.incremental.scala.package$.using(package.scala:21)
    org.jetbrains.jps.incremental.scala.remote.RemoteResourceOwner$class.send(RemoteResourceOwner.scala:24)
    org.jetbrains.plugins.scala.compiler.RemoteServerRunner.send(RemoteServerRunner.scala:14)
    org.jetbrains.plugins.scala.compiler.RemoteServerRunner$$anon$1$$anonfun$run$1.apply$mcVI$sp(RemoteServerRunner.scala:33)
    scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160)
    org.jetbrains.plugins.scala.compiler.RemoteServerRunner$$anon$1.run(RemoteServerRunner.scala:30)
    org.jetbrains.plugins.scala.worksheet.server.RemoteServerConnector.compileAndRun(RemoteServerConnector.scala:85)
    org.jetbrains.plugins.scala.worksheet.processor.WorksheetCompiler$$anon$1.run(WorksheetCompiler.scala:68)
    com.intellij.compiler.progress.CompilerTask.run(CompilerTask.java:202)
    com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:621)
    com.intellij.openapi.progress.impl.ProgressManagerImpl$3.run(ProgressManagerImpl.java:194)
    com.intellij.openapi.progress.impl.ProgressManagerImpl.a(ProgressManagerImpl.java:281)
    com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:233)
    com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181)
    com.intellij.openapi.progress.impl.ProgressManagerImpl$9.run(ProgressManagerImpl.java:530)
    com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:406)
    java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    java.util.concurrent.FutureTask.run(FutureTask.java:138)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    java.lang.Thread.run(Thread.java:695)
    org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56)

  5. Matt Hughes says:

    Turning off “Use external compile server for scala” in the preferences fixed the Internal error: xsbt.CompilerInterface exception for me.

    Seems like it should be off by default and have a useful error message if the external compile server is unreachable.

  6. Raaj says:

    After updating both IDEA and Scala plug-in, I just can’t get anything to compile. Its clear that it doesn’t even recognize scala keywords like actor or self – what has changed? What do I need under modules, facets and libraries? I know that facets are gone but what project settings are required to get the basic things working? Help!!

Leave a Reply

Your email address will not be published. Required fields are marked *