Skip to end of metadata
Go to start of metadata

What's This All About

Scala Plugin turns IntelliJ IDEA to a convenient Scala development environment.

If it's the first time you're seeing this page, you should strongly consider reading Getting Started with IntelliJ IDEA Scala Plugin.

What's in It for You

You're probably wondering what exactly Scala plugin can do for you. Figure it out right now. Here you can find some tutorials about Scala plugin.

What's Next

The Roadmap, as you have probably expected, gives you a bit of insight into what will become of us.

So, if you're curious, read it: Roadmap.

What Else 

Reading this page is not probably going to take all of your day, so we've collected this bunch of links to keep you entertained.

  • Blog — a source of news, hints and feature announcements.
  • Forum — a great place to exchange experience.
  • The Scala Programming Language — a must-read source of first-hand info about Scala.

What If...

If you've found a bug, a glitch, anything that doesn't work well, or as you think it should —

in other words, you have what we call feedback, you're welcome to our Issue tracker.

You can submit bug reports and, what's even more exciting, your ideas of new features.

If you feel like you've got time to play with the plugin code yourself — visit Source Repository on GitHub.

Check Nightly Builds for Cardea page to get the latest plugin version with actual changes.

  • No labels

64 Comments

  1. I am eagerly waiting for this plug-in to get to the point where I feel confident doing production development with it.  Last time I tried a version of the plug-in, it kept my Java code from compiling, and I had to back out.  That was a couple of months ago, but now I am very confused about the status of this plug-in development.  Nothing new appears in the version history any more, and this overview page isn't updated, but new plug-in versions do seem to appear.  It would be tremendously helpful if someone could go through and update the version history, the roadmap, and perhaps some of the other summary information, to give us all a sense of where this development stands.

    1. The following forum thread contains an answer to some of my questions: http://www.jetbrains.net/devnet/message/5244381#5244381

       The key information is in a post from Ilya Sergey, who seems to be the primary maintainer of this page.  Ilya Sergey writes:

      Hello, guys!

      I'm happy to notify you, that I'm still alive but in the last couple of months I was kind of a little bit busy with my current PhD work. Usually I forget to track forums (by some reasons automatic notifications don't work correctly for me), but as you may see by revisions to Scala plugin repository I continue working on Scala type system support in the plugin.

      Cheers!

      Ilya

      1. I am delighted to see that the version history is being regularly updated again to show lots of great progress on the plugin.  My thanks to everyone involved in developing and supporting it!

        1. I have been using the plug-in very successfully for the past couple of weeks.  My thanks again to the plug-in development team!

  2. Anonymous

    Here's my scala class :

    ___________________________________
    class GisPoint(x1: Int, y1: Int) {
    val x = x1
    val y = y1

    def +(p: GisPoint) = new GisPoint(x+p.x, y+p.y)

    override def toString = "x:" + x + ", y:" + y
    }
    ___________________________________

    From a java class, even though it compiles and works, I get a syntax error with "new GisPoint(10,10)". Idea underlines the arguments and says:
    "GisPoint() in GisPoint cannot be applied to (int, int)"

    Any idea? I use 8.1.3 with scala plugin 0.2.27245

    Thanks

    1. Although part of the source quoted above got eaten by confluence, I think similar cases work for me using the latest IDEA 9.0 EAP and the latest Scala-for-IDEA9 plugin release.

  3. Anonymous

    Running scala code on IDEA on my Macbook doesn't work very nicely, it seems!?! the "Edit Configuration" wizard opens up the scala console so I end up with a ">scala " prompt instead of the code being executed.. Is this a mac related bug?

    1. Try ro run your scala code directly from editor, not throw "Edit Configuration".

      1. Anonymous

        Thanks for replying Alexander,

        it seems that there is no option for this on macbook! (sad) The normal view on my windows pc has a bigger context menu! On the mac there is only these 2 options:

        - Compile 'Hello.scala'

        - Run Scala Console

         !!!

        1. Please create bug report to http://youtrack.jetbrains.net/issues/scl. Also attach some screenshots. We will help you soon.

  4. Anonymous

    Is this supposed to work with the Community Edition? I have #IC-90.96, and I am told that the plugin is "not compatible".

  5. Anonymous

    same version, same problems, suggestions?

    1. Please, download the last IntelliJ version.

      1. Anonymous

        RE: Running scala code on IDEA on my Macbook ... I'm using latest production release of IDEA (8.x) on the Mac! There is only the following options:

        - Compile 'Hello.scala'

        - Run Scala Console

         Do you mean version 9??

  6. Anonymous

    Looks like the Scala plugin is not compatible with the latest Community Edition (v 90.193).

    1. It's not the latest, you can download EAP version 92.24.

      Best regards,

      Alexaner Podkhalyuzin

  7. Anonymous

    Scala plugin is not available in EAP 92.24 version, it is not shown in available plugins list...

    1. Anonymous

      Are there any download links to EAP 90.96 as I am unable to use the Scala plugin with the recent EAP releases.

      1. Anonymous

        the same problem here.

        Regards,

        Roman Sotnikov

    2. Anonymous

      I have the same problem, just downloaded 92.24 and although the closure plugin is now compatible (was incompatible with 90.193), the scala plugin is incompatible and worse yet the list of plugins won't even display. I get an error msg that says "List of plugins was not loaded: Content is not allowed in prolog" when I click on the plugins tab and it tries to download the list of available plugins.

      1. Anonymous

        nevermind, I got the latest plugin from http://plugins.intellij.net/plugin/?idea&id=1347 and it works with 92.24

      2. Anonymous

        Im having thesame problem..

        greedy genius

  8. Anonymous

    I tested several versions of scala IDE+plugins recently and IDEA is best so far.
    The only two things that upset me (and i suppose they both have the same reason) are:

    • often IDEA doesn't show any errors and i see them when running compiler
    • type inference is far from perfection: in the following simple example i'm getting 'No suggestions' when trying to get autocomplete after 'yield b.'
      object Test {
      def a(s: String) = Some(s)
      def main(args: Array[String])
      Unknown macro: { val x = List("1", "2", "3") println(for (y <- x; b <- a(y)) yield b) }
      }

    You guys are doing really great work, but could you tell us what are you plans on the things i noted above.
    Thanks in advance.

    1. Anonymous

      Well maybe its not type inference, maybe its just for comprehension or something else. But if i type 'a("").' i get Option methods in autocomplete list, though i can replace 'b <- a(thumbs up)' with 'b <- a(z)' (note that z is not defined anywhere) and i get no errors from IDEA.

    2. Anonymous

      Indeed, it would be nice if the autocomplettion could be improved. http://www.jetbrains.net/devnet/message/5256513#5256513\\

  9. Anonymous

    And also... I looked through the list of tickets in issue tracker and i'm not sure if i should make a new ticket or is it a known problem. Some issues look similar to my problems but not exactly the same.

  10. Anonymous

    Hi All,

     I am using Idea 9.0 community edition. The comparison page (http://www.jetbrains.com/idea/features/editions_comparison_matrix.html) states Scala is available for users of the community edition as a plugin.

     When I open the plugin window and search for scala, nothing appears, but when I do the same in Idea 9.0 Ultimate Trial, I can see the plugin appears. 

     Can anyone tell me how should I install the plugin in the community edition.

    Thanks,

    -A

    1. Hi.

      Please, make sure, that the build of IntelliJ IDEA 9.0 CE you use is from branch 93.*  Due to some internal API changes newer branches are not supported so far.

      With beest regards,

      Ilya

  11. Anonymous

    Hi,

    I just tried out the scala plugin for IDEA (93.54) and I am not sure if this is a bug or a missing feature:

    1) auto-compilation does not show me all errors. For example if I call a method with the wrong count of parameters, this willof course result in a compilation error. But the error is not shown immediately in the editor, like it would with java or groovy.

    2) On manual project compilation, the errors are not linked in the editor. I only see them in the compilation output.

    Regards,
    Andi

    1. You have an editor with syntax errosr, and some resolve errors. This IDE is not integrated with compiler, so compilation can't update red code in the editor.

      Scala compiler has complex type system, which is not implemented in scala plugin yet, until this will be implemented, you can't see all compiler errors on the fly (like in Java or Groovy).

      Best regards,

      Alexander Podkhalyuzin.

      1. is this on the roadmap?

  12. Anonymous

    How can I rename a file? In the project structure I see only the classes inside the file.

    1. You can rename file in the tab, not from project view. Or you can enable file node mode in scala plugin settings, then you will see file with children in project view.

  13. Anonymous

    Is the plugin only compatible with Scala 2.8? When I set the Scala version to 2.7 I get the ClassNotFound exception.

    OTOH, if I set the compiler to 2.8, I cannot build Lift project.

    Any suggestions?

    Thanks,
    – Sasha

    1. Please configure Scala Facet page for development with Scala 2.7.

  14. Anonymous

    Hey, it appears that the Scala compiler is really slow compared to the java compiler. Is there any work being done to improve this?

  15. Anonymous

    Hello

    Thank you for a great plugin Im look forward to each time you make and "official" release.
    However I have a problem with attaching Doc and sourcecode to the scala libraries. It works fine for other libraries as scalatest.
    Iam using latest EAP and release from 2th. april, however it has been a problem for a while.

    1. Please try the latest Nightly Build. You can use it with fixed your problem: http://confluence.jetbrains.net/display/SCA/Scala+Plugin+Nightly+Builds\\

      Best regards,

      Alexander Podkhalyuzin.

  16. Anonymous

    Hi, plugin is cool fo sure, thanks for good work.

    One thing i noticed, when editing file with 2 or more classes and "structure" subwindow is open, then i have "short editor hangs on changing text" issue, hanging disappears

    when i close "structure" window.

  17. Anonymous

    when i set Use fsc to compile. I got these errors:

    Scalac internal error:
    class java.lang.reflect.InvocationTargetException [sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25),
    java.lang.reflect.Method.invoke(Method.java:597), org.jetbrains.plugins.scala.compiler.rt.FastScalacRunner.main(FastScalacRunner.java:61)]

    [scala.tools.nsc.CompileSocket.fatal(CompileSocket.scala:50),
    scala.tools.nsc.CompileSocket.startNewServer(CompileSocket.scala:89),
    scala.tools.nsc.CompileSocket.getPort(CompileSocket.scala:113),
    scala.tools.nsc.CompileSocket.getsock$1(CompileSocket.scala:152),
    scala.tools.nsc.CompileSocket.getOrCreateSocket(CompileSocket.scala:170),
    scala.tools.nsc.StandardCompileClient.main0(CompileClient.scala:85),
    scala.tools.nsc.CompileClient.main0(CompileClient.scala),
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method),
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25),
    java.lang.reflect.Method.invoke(Method.java:597),
    org.jetbrains.plugins.scala.compiler.rt.FastScalacRunner.main(FastScalacRunner.java:61)]

  18. Anonymous

    Can someone delete the above comment? It's just spam. The person has posted the same comment on every Scala forum and blog he can find.

  19. Anonymous

    Hi,

    I've just installed the scala plugin with IJ 9.02.
    I can add classes/objects but whenever I want to compile a scala class nothing seems to happen.
    When I run the app via the main-method I get the following error:

    "Exception in thread "main" java.lang.ClassNotFoundException: ScalaTest"

    In the "Project Structure" view I have "Scala" enabled under "Facets" and
    the scala-compiler.jar & scala-library.jar enabled under "Libraries".

    Any hints?

    1. Anonymous

      Hmm..
      Do you have scalatest library in your module dependencies? Also please check that scala library and compiler jars in your facet configuration are the same as in your module dependencies.
      Also, i'd highly recommend latest IDEA EAP (http://confluence.jetbrains.net/display/IDEADEV/Maia+EAP) and scala plugin nightly build (http://confluence.jetbrains.net/display/SCA/Scala+Plugin+Nightly+Builds)

  20. I have already posted the question. i am trying to begin my journey and hitting roadblocks on the way. is there any help to at least get started?

    With the community edition i have the plugin seems to be behaving very crazy. 

    Hi,

    Preface to the issue what i am facing. This may not be the best place for this but i dont know where this go to either.

    1) for 10 years i have been a windows user and developer on C# , C++, VB developer.

    2) Recently switched on to a new shiny mac in order to find out why its better. and this brought a new oportunity for me to help me to learn Scala and Lift web.

    3) Went ahead and started learning Scala from a book and when i went to the Scala website it said intelliJ has a Scala plugin.

    4) Downloaded the Community Edition ( Scala plugin also ) but Scala wont work with Community edition.

    5) Downloaded the EAP 11 installed scala plugin.

    6) but the step by step guide is only for windows the paths and other details didnt find any tihing for getting started with scala for MAC can we have a wiki page dedicated for it please?

    7) EAP licence says only for 30 day trial. Can we have a EAP account and password so that i can still learn scala using the IntelliJ EAP software?

    1. 4. This is a bug in IDEA - CE (http://youtrack.jetbrains.com/issue/SCL-4116) I hope it will be fixed before IDEA 11.1 release.

      6. Getting started guide should be rewritten anyway (I think we will do it after improving creation project wizard), so it's possible that we will add some specific info about Mac, however usually it's almost the same as for any other operating system.

      7. You can buy IDEA license and it will work for all EAP releases (if I remember right, license is upgradable for 1 year). Also you can just update IDEA using EAP versions. Every new version will have 30 days trial, usually distance between EAPs is less then 30 days. However It's possible that distance between IDEA 11.1 release and IDEA 12 EAP will be much bigger than 30 days, so with fixed problems of plugin installation on 11.1 CE you can use Community Edition.

      Best regards,

      Alexander Podkhalyuzin.

  21. The "nightly builds" link near the top right of this page still points to the IDEA X version.

    It probably should point to http://confluence.jetbrains.net/display/SCA/Scala+Plugin+Nightly+Builds+for+Nika by now...

    1. That's true. Thank you!

        1. That's true again. Thank you!

  22. Since IntelliJ IDEA 14 EAP is out with a new Scala plugin build, are you going to add a link for Nightly builds (Cassiopeia) in the Download section upper right?

    Thanks,

    Jon

    1. Hi Jon, thank you for the reminder. We're definitely going to provide the nightly builds for IDEA 14 plugin, yet it will probably take a week or so, and there are no new commits in the corresponding plugin branch anyway (besides compatibility-related).

  23. Installed 0.41 last night.  Now when build.sbt is updated, all sources and javadocs are removed from the project.

  24. 0.41.2 still discards all sources and javadocs.

    1. Try File -> Import Project again. But this time check "Download sources and docs" in "Import SBT" dialog.

      1. Thank you. That works perfectly now.

        I did notice that my vcs.xml "doubled up" a mapping after doing an import:

        Not sure if that is related to the 0.41.2 update.

        1. It's IntelliJ IDEA platform problem. I reported something similar: http://youtrack.jetbrains.com/issue/IDEA-129058

          Best regards,
          Alexander Podkhalyuzin.

  25. I'm confused about the relationship between SBT and Intellij. It seems that even though an sbt project is imported, sbt is not used to build and run tests, as sbt compile configuration options are ignored.

    Specifically, I've set

    excludeFilter in (Compile, unmanagedSources) := HiddenFileFilter || "*_test.scala"
    excludeFilter in (Test, unmanagedSources) := HiddenFileFilter
    resourceDirectory in Compile := baseDirectory.value / "resources"
    resourceDirectory in Test := baseDirectory.value / "resources"

    in my build.sbt file, but these settings do not appear to honored when running Build => make.

    I'm using Scala plugin 1.1.382.2.RC1. I also tried with the SBT plugin, but this seems old and I removed it.

    1. The relationship between SBT and IDEA is partial: we use SBT to extract project structure - modules, dependencies, options and misc - but we compile and run tests on our own. It causes some problems like project structure restrictions (famous "shared roots" problem), incorrect handling of options, etc. We have plans on using sbt-remote-control, in theory it should solve most of our current inconsistencies, but sbt-remote-control is quite far from mature state right now, so don't expect it to be integrated in Scala/SBT plugin in nearby future.

      As for your specific problem: it will be great if you submit an issue on Youtrack and attach an example project if it is possible. I'll take a look and try to find a solution.

  26. Is there a way to modify the args for the 'make' command, especially when used before starting a test ? I can see that it starts:

    I've tried all possible configuration for sbt and scala, but I can't manage to find the setting so it uses -Xmx2048M.

    1. Hi. Is it Play2 project? If so, try adding "-Xmx2048M" in "Settings / Languages & Frameworks / Play2" dialog

      1. Thanks, this solved my problem, too.

        @IntelliJ: This is completely counter-intuitive and more or less undocumented.

      2. It is a play project but I've imported it a sbt project. When I try to add play framework support, it doesn't do anything (no facet are added). adding the -Xmx... to play2 conf doesn't change anything. I'm using 14.1.4

  27. Apparently the SBT setting "Maximum heap size, MB" is ignored. It's set to 1024 by default, but whatever I put in there, it's not used as JvisualVM tells me.