What to Check Out in Scala Plugin 1.4.x for IntelliJ IDEA 14 & 14.1

Andrey Cheptsov

If you’ve already upgraded to IntelliJ IDEA 14.1 (released just a few days ago), you might’ve noticed (in addition to all of its awesome new features), a new Scala plugin update: v1.4.15.

The update brings you quite a few improvements for the Play framework support: fixed problems with running of the applications, and better yet, JavaScript injection to Play templates. 1.4.15 is the first of the planned series of Scala plugin updates that will be available exclusively for IntelliJ IDEA 14.1, because at this moment IntelliJ IDEA 14 only receives bug fixes, whereas the new feature development is entirely focused on 14.1. This also means more new features and improvements are on the way for it, so getting the 14.1 is a good idea (if you haven’t done this already.)

Now that I’ve already got your attention, I’d also like to review what’s exactly new in this Scala plugin version (in case you haven’t followed the EAP news.)

Advanced Implicits Analyser

One of the major new features is, of course, the advanced implicits analysis. Now when you call the Implicit Parameters action, in addition to the list of applicable implicit parameters, you will see those that can’t be found:

Screen Shot 2015-03-02 at 20.20.51

Under the “Parameter not found” label you’ll find the list of possible implicits for this location. It distinguishes the following cases:

  • Fewer applicable implicits are found
  • Somewhere deep an implicit is not found or diverging
  • No applicable implicits found for this parameter

Compiler Server for Play Framework

Another improvement is aimed at making the compilation for Play applications blazingly fast, thanks to moving it to a separate process. Now every time we compile the project we don’t have to start SBT.

Activator Templates

One more enhancement is the newly-added integration with Typesafe Activator that helps you create new projects based on the Activator templates from inside the IDE’s Project Wizard:

scala_activator

An SBT Plugin for Tweaking IDE Settings

Finally it’s worth mentioning that we’ve introduced the support of our sbt-ide-settings plugin, which provides additional settings that improve importing, compilation and testing of SBT projects.

For example, the ideExcludedDirectories option lets you instruct IntelliJ IDEA which directories to exclude on project import.

Another option is ideBasePackages, which configures a list of packages to be used as base prefixes for chaining. The packages beginning with one of these prefixes will be chained automatically in IntelliJ IDEA.

That’s pretty much it, you’re welcome to discover other enhancements by updating to the newest Scala plugin yourself.

UPDATE: If you’re experiencing problems with installing of the update, we recommend you to uninstall the previous version and than install the latest version from the scratch. Alternatively, you can download and install the plugin manually. We’re working on fixing the problem as soon as possible.

As always we’re open to your feedback: don’t forget to write us in the discussion forum and the issue tracker.

Develop with Pleasure!

Comments below can no longer be edited.

37 Responses to What to Check Out in Scala Plugin 1.4.x for IntelliJ IDEA 14 & 14.1

  1. James says:

    March 26, 2015

    I can’t get this to install. I updated to IntelliJ 14.1 CE which requests the update, but after downloading the plugin it does not seem to install it.

    • James says:

      March 26, 2015

      Hm. Apparently this can be fixed by manually installing the plugin.

      • Andrey Cheptsov says:

        March 26, 2015

        Yes, the problem is entirely with the plugin repository caused by recent changes. We’re on it, stay tuned!

  2. Ivan says:

    March 26, 2015

    I’m facing the same issue as James – IDEA downloads the Scala plugin update but does not install it. I use 14.1 Ultimate Edition.

    • Andrey Cheptsov says:

      March 26, 2015

      We’re investigating the problem with our plugin repository. Meanwhile you can try to install the plugin manually: https://plugins.jetbrains.com/plugin/?id=1347
      And thanks for your patience 🙂

  3. Ondrej says:

    March 26, 2015

    It is quite ironic for me to read this blog, as the update is annoyingly hard to install – see https://youtrack.jetbrains.com/issue/IDEA-138220

    • Andrey Cheptsov says:

      March 26, 2015

      It seems there is a problem with our plugin repository, it’s unrelated to the Scala plugin. We’re investigating the problem, thanks for reporting it. Meanwhile you can try to install the plugin manually: https://plugins.jetbrains.com/plugin/?id=1347

  4. Arun says:

    March 26, 2015

    I ran into similar problems with IntelliJ 14.1 CE. The Scala plugin would not install and it kept bugging me to install the plugin. My Scala/SBT projects would not be recognized. I finally gave up and went back to the prior version. I notified all my fellow developers to hold off on upgrading to IntelliJ 14.1 CE until a new version is available. I hope that will be soon.

  5. Sergey says:

    March 26, 2015

    I want Haskell support 🙂

  6. Andrey says:

    March 26, 2015

    Scala console is now broken: [Cmd] + [Enter] does not execute the code

    • Alon Pe'er says:

      March 30, 2015

      I’m having the same issue, I can’t execute commands in console.

      • Konstantin says:

        March 30, 2015

        Same problem: nothing happens after pressing Ctrl+Enter. Where to report?

    • afiskon says:

      March 31, 2015

      Same issue here 🙁

    • Alexey says:

      April 9, 2015

      Same here…

    • George says:

      April 21, 2015

      Same here. Latest and greatest is broken. Recent IDEA releases have been quite buggy, please invest in quality!

    • Pierangelo says:

      April 25, 2015

      The Scala console issue is fixed with Idea14.1.2 and Scala plugin version 1.4.169.1.EAP. Tested on Ubuntu.

  7. Wayne Wang says:

    March 27, 2015

    Play launching problem still exists under multi-modules projects.

    Now it runs every time but stop at the error of :
    [warn] No main class detected

    java.lang.RuntimeException: No main class detected.
    at scala.sys.package$.error(package.scala:27)

    And this happened under my multi-modules project which I have copied the structure from play-akka-cluster-example from activator templates

  8. Ricki says:

    March 27, 2015

    For some reason my Play Framework 1 projects have issues with IntelliJ IDEA 14.1. Not sure if it is the scala plugin, or 14.1 itself, but my Play Framework 1.2.7 project keeps reindexing all the files all the time, so I have to revert back to 14.0.

    Anyone else had this issue or have a clue how to resolve it?

  9. Ahti says:

    March 27, 2015

    How fast should be blazingly fast?

    With the empty java play 2 project created with the new project wizard I still get ~8sec delay before every test run (Make process, possibly SBT build).

    Even after “Start Watcher” SBT Make still seems to kick in and I don’t see anywhere SBT server kicking in. Is this how it should work or something MUST be wrong with my settings? I tried to doublecheck every single thing.

    This is fresh 14.1 IDEA with Scala plugin 1.4.15.

    • Ahti says:

      March 27, 2015

      Sorry, by “empty” project I meant “new java play 2 sample project”.

  10. Sergey says:

    March 27, 2015

    Thanks for “moving it to a separate process” & sbt !

  11. Golly says:

    March 29, 2015

    […] list of packages to be used as base prefixes for chaining. The packages beginning with one of these prefixes will be chained automatically in IntelliJ IDEA.

    What does this mean? Could you explain what you mean by chaining? Thanks.

  12. David Pérez says:

    March 30, 2015

    I don’t understand the “ideBasePackages” setting.
    Could you please provide an example?

  13. Dmitry says:

    March 30, 2015

    Finally my inline JS is highlighted correctly! 🙂
    Thanks for the great work guys!

  14. Michael Prentice says:

    April 1, 2015

    Why can’t I add command line arguments to the Play 2 launch configs? I need to run activator commands like “start 80” or ‘h2-browser “run 9000″‘ but the plugin won’t let me do that. So I have to use a hack based on the Bash plugin to launch my Play applications from the IDE.

  15. Ercan says:

    April 4, 2015

    After install intellij idea 14.1.1 update my mac osx lost stability. Now i have Lots of noise when intellij open. Another error is Gauge plugin related. Not working correctly.

  16. antonkulaga says:

    April 5, 2015

    The plugin is really buggy, it does not compile most of more or less complex projects and it even cannot import projects like https://github.com/w3c/banana-rdf

  17. Sam Yang says:

    April 7, 2015

    I have 14.1.1. I can’t create play 2.x project by combining the Scala/Activator templates.

    Any recommendation?

  18. HamsterofDeath says:

    April 7, 2015

    can the implicits analyzer show the implict parameters applied to an implicit conversion method? if yes, how? if not, i would like that to be possible.
    can’t read my own code otherwise 🙂

  19. Jonathan says:

    April 17, 2015

    Since updating to the latest IntelliJ14.1.1 and latest scala plugin, my scala facets and play project are broken in that I had to delete my .idea directory, and it still doesn’t recognize that it is a play project on fresh import via sbt, although I get syntax highlighting, method completion, etc., but the project settings don’t see play/scala facets, etc., and debugging config is broken. This is a real drag. 🙁

    Although I am happy with the pace of features, quality and clean upgrade support need much more attention and investment.

  20. Jonathan says:

    April 17, 2015

    Just tried to grab the bleeding edge 1.5 scala plugin version from: https://confluence.jetbrains.com/display/SCA/Scala+plugin+EAP in faint hope to fix the facet issue, and am seeing:

    This XML file does not appear to have any style information associated with it. The document tree is shown below.

    AccessDenied
    Access Denied
    FFC1C8A7F763E896

    o4PxI5xPGbx+TZA29fm6ZQTtxhOxNfBsluTSwQA7zAKDBfT8nXeo7/Nk4lzplOacTx7yIeSlFok=

    Sigh….

  21. Alex says:

    April 24, 2015

    I installed plugin 1.4.15 on 2 different Mac’s and having same problem.

    Configuration
    Activator 1.3.2 (latest play framework)
    IDEA 14.1.2 CE
    Scala plugin 1.4.15

    When I create a new Scala/Activator project , a popup appears “New Module: Error adding module to project: null”

    Logs show the following:
    WARN – il.projectWizard.ModuleBuilder – -1
    java.lang.ArrayIndexOutOfBoundsException

    Any ideas? Thanks

  22. Peter Tobler says:

    May 5, 2015

    I’ve seen lot of posts that people cannot create Play projects. I’ve had the same problem until now and I’m glad I found a fix for it. Just delete your config folder(s) according to https://intellij-support.jetbrains.com/entries/23358108-Directories-used-by-the-IDE-to-store-settings-caches-plugins-and-logs

    Next time I’ll definitely do a clean install, even for minor updates.

  23. Heming says:

    May 14, 2015

    The SBT project with multiple sub-projects is not recognized correctly. 14.1.2 worked fine though.

  24. angel says:

    July 2, 2015

    Hi!..I’m having a little trouble with my intellij…seems than sbt and intellij are using different ivy locations because when I update my deps with sbt and then open the project with scala, all the deps are re downloaded again, the same happens in the inverse order, I’ve changed my sbt-launcher.jar ubication and now sbt and intellij are using the same tool, but the problem persist, how can I configure the ivy location for intellij?..thank so much

  25. Dev says:

    December 10, 2015

    Error:scalac:Parameter ‘-nobootcp’ is not recognised by Scalac
    Error:scalac:bad option:’-nobootcp’
    how to git rid of this please ?

  26. Jagadeesh P B says:

    February 22, 2017

    From the wizard, after I select Activator, it doesnt display any template. So without selecting a template if I try to create a project from existing source, I get an error saying “Error adding module to the product. Can’t download template”. Is there any workaround?