Scala and Play 2 Plugins 0.41 EAP is Out

Posted on by Alexander Podkhalyuzin

If you’ve ever used a nightly build of Scala or Play 2 plugins, then you probably know that mixed feeling of being on the edge and using the features none of your colleagues is even aware of yet, but at the same time expecting your entire environment to crash at any moment.

Well, we sort of took care of that second part by opening of Scala and Play 2 plugins EAP. With this EAP we intent to give you a much safer way to evaluate the upcoming features and influence development. EAP cycle includes new builds every two to three weeks, so you will have plenty of time to try it and provide feedback.

To start using EAP builds just add a corresponding repository URL via SettingsPluginsBrowse repositories…Manage repositories (just like with the nightly builds.) After that your IDE will automatically inform you about updates and install them for you. And, of course, you can always get the latest updates from Scala and Play 2 plugins EAP page and install them manually.

Here’s what’s new in the upcoming EAP (0.41):

Scalastyle support

Thanks to Jan Machacek, the Scala plugin now comes with the built-in Scalastyle support. The only limitation it has right now is that you can’t use a Scalastyle version different from what is built-in, so when you’re going to use a newer version, you need to manually update plugin bundle first.

Show implicit parameters improvements

Now you can see recursive implicit parameters:

Screen Shot 2014-07-22 at 14.45.28

Better Spray support

It’s all about error highlighting, which is now way better even in the most complicated library parts: spray-routes and spray-json. Because of high Spray popularity (see our talk from Scaladays), we consider improving its support a crucial task, so if you have more feedback about Spray support, contact us ASAP.

Unicode arrows support

You can configure Scala code style settings and use Unicode arrows instead of =>:


Unwrap/Remove action

Finally, this helpful action supports Scala files too.

Procedure syntax support

Code style now has feature that converts procedures to functions syntax (see details on why it’s enabled by default.)


For the full list of changes see Release Notes.

As always, you’re welcome to share your feedback in our discussion forum, or issue tracker.

Develop with Pleasure!

Comments below can no longer be edited.

13 Responses to Scala and Play 2 Plugins 0.41 EAP is Out

  1. OlegYch says:

    July 23, 2014

    great improvements, thank you very much

  2. Jotomo says:

    July 23, 2014

    I’m getting a “Plugin Scala in incompatible with current installation” when trying to install into IDEA 14 EAP (138.1029). Is this only compatible with the stable version of IDEA then?

    • Alexander Podkhalyuzin says:

      July 23, 2014

      Yes, it’s for IDEA 13.1.4 only. After the next release we will start EAP program for IDEA 14 (and no more feature releases for IDEA 13).

  3. Will Sargent says:

    July 24, 2014

    What’s a “corresponding repository URL” in this context?

  4. AD says:

    July 29, 2014

    I cannot get the Play plugin to work correctly. After installation, it appears in red in the plugins list.
    Did I miss something ?

    The Scala one works great

    P.S. : I’m on IDEA 13.1.4

  5. Scala 和 Play 2 插件 0.41更新发布 IDEA插件下载 | 客家网络 says:

    August 7, 2014

    […] 快速修复从 usages 中创建类,对象和特性 更多更新内容请看:0.41 EAP , 0.41 […]

  6. Mark Mindenhall says:

    August 7, 2014

    I’m working on a project with a git repo that includes a rails app, a maven java project, and a play 2.1.3 project (which I created). I like to have everything available in one project, so I created a rails project from existing sources, then imported the maven and play (sbt) projects as modules. This all worked with the previous version of the plugin.

    I had to re-create my project last night after updating to the new plugins, and now the sbt import is failing. Importing as a new project succeeds, but importing as a module fails with the following “Resolve error”:

    at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$5.apply(SbtExternalSystemManager.scala:85)
    at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$5.apply(SbtExternalSystemManager.scala:84)
    at scala.Option.orElse(Option.scala:266)
    at org.jetbrains.sbt.project.SbtExternalSystemManager$.executionSettingsFor(SbtExternalSystemManager.scala:84)
    at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$getExecutionSettingsProvider$1.apply(SbtExternalSystemManager.scala:53)
    at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$getExecutionSettingsProvider$1.apply(SbtExternalSystemManager.scala:53)
    at org.jetbrains.sbt.package$$anon$
    at org.jetbrains.sbt.package$$anon$
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.getExecutionSettings(
    at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.a(
    at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.a(
    at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.doInvoke(
    at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager$MyHandler.invoke(
    at com.sun.proxy.$Proxy118.getResolver(Unknown Source)
    at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.execute(
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3$
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(
    at com.intellij.openapi.application.impl.ApplicationImpl$10$
    at com.intellij.openapi.application.impl.ApplicationImpl$
    at java.util.concurrent.Executors$
    at java.util.concurrent.ThreadPoolExecutor.runWorker(
    at java.util.concurrent.ThreadPoolExecutor$
    at com.intellij.openapi.application.impl.ApplicationImpl$1$

    Consult IDE log for more details (Help | Show Log)

  7. Jeffrey Aguilera says:

    August 7, 2014

    Now when build.sbt is refreshed, all the sources and javadocs are lost. Even adding withSources() and withJavadoc() … which is hiddeously ugly … does not solve the problem for some artifacts.

    • Alexander Podkhalyuzin says:

      August 9, 2014

      Please go to Settings -> SBT -> Download sources and javadocs.