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!
Comments below can no longer be edited.
Sergey says:
February 3, 2015It is very very slow. Unfortunately. Burns all cores..
barx says:
February 13, 2015That’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)
Alex says:
February 20, 2015same problem
Ngu says:
February 26, 2015Try 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)
Ngu says:
February 26, 2015Nvm. It’s my firewall settings.
DQ says:
February 13, 2017I encounter the same problem and my firewall is turned off. could you please tell me how to set the firewall ?
Matt Hughes says:
March 7, 2015Turning 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.
Raaj says:
March 12, 2015After 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!!
Dmitry Naydanov says:
March 12, 2015Do you use play2 framework?
Raaj says:
March 12, 2015No, I am just trying to run my old scala programs and nothing is working. Have not tried running my play apps yet, but finding this very frustrating that I can’t create simple sbt-based scala programs straight out of the box. Unless something is messed up or I’m doing something stupid. But some clarity would be good as in exactly what what to configure and how. e.g. SDK, Facets, Libraries, etc.
Alexander Podkhalyuzin says:
March 13, 2015Please read this post about Rethinking project configuration model: https://blog.jetbrains.com/scala/2014/10/30/scala-plugin-update-for-intellij-idea-14-rc-is-out/
Best regards,
Alexander Podkhalyuzin.