Scala Plugin EAP Speeds Up Coding Assistance

Because of its nature, Scala code is really difficult to edit without proper coding assistance. And sometimes said assistance is too slow which makes it not that useful. That’s why we never stop improving our Scala plugin performance. This time we’ve reduced the time needed to provide coding assistance within methods with a defined return type. As a result, code completion and inspections in our latest EAP build now work much faster.

Before:

SpeedBefore2-1

After (see how much faster it is, the animation is 100% real time snapshot):

SpeedAfter-1

To give the new EAP build a try, download it from the EAP page, or if you use the EAP plugin upgrade channel, upgrade from the IDE.

Develop with Pleasure!

About Andrey Cheptsov

Part-time dreamer. JVM/JavaScript geek. IntelliJIDEA Marketing Manager at JetBrains.
This entry was posted in EAP, New Features and tagged , , , . Bookmark the permalink.

6 Responses to Scala Plugin EAP Speeds Up Coding Assistance

  1. OlegYch says:

    nice, thanks!

  2. kerr says:

    wow,thanks very much,this is really help.

  3. Robson Peixoto says:

    Talking about speed up Scala Plugin, how can I speed up the Intellij?

  4. Scott says:

    “Because of its nature, Scala code is really difficult to edit without proper coding assistance.”

    Wow that is a huge blanket statement. Evidence for this? I feel like Scala is pretty easy to edit.

    • Operator overloading.
      Self-typing.
      Syntactic sugar.
      Implicit resolution, whether it be of the type, value, or def flavor.

      Compare all that to Java. All you have there is very little implicit resolution (e.g. primitive boxing, wildcard type parameters). And you don’t have any such thing as operator overloading, self-typing, or syntactic sugar.

      I am not a fan of implicit values or defs, but my problems with those stem from quirky resolution rules and sluggish IDE support, and those are very solvable IMO.

Leave a Reply

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