Scala and Play 2 Plugins 0.41 EAP is Out

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): Continue reading

Posted in EAP, New Features | 16 Comments

Interview with Jason Zaugg on Scala, Dotty and IntelliJ IDEA

As some of you may know, this June the whole Scala plugin team took a break and went to Berlin to enjoy Scala Days 2014, and of course to meet IntelliJ IDEA users! Alexander Podkhalyuzin, a lead developer of the Scala plugin, used this chance to catch Jason Zaugg, a Scala rockstar and developer at Typesafe, and talk about Scala Compiler, Dotty and IntelliJ IDEA. Enjoy the interview!

Alexander: How did you first hear about Scala?

Jason: A colleague of mine saw Martin Odersky present Scala at a conference in 2008. He shared his impressions of the language at our team’s weekly tech talk, and my interest was piqued. I had already been drawn to functional programming from the perspective of a Java programmer who disliked code duplication. I’d used Ruby and Groovy on small projects, but was never happy with the compromises in type safety and performance. Scala seemed to offer the best of both worlds.

Alexander: You’ve helped the IntelliJ IDEA team a lot to improve the Scala plugin. What are your impressions about developing for IntelliJ Platform?

Jason: My contributions to the plugin were largely “scratching an itch”. Back in 2009, it was hard to sell Scala to a Java programmer who appreciated a powerful IDE. I knew a tiny bit about the IDE plugin architecture as I had built a plugin a few years earlier, and wondered how hard it would be to dive in and fix a few bugs. I learnt a lot about Scala in the process, and started to get a taste for the unique and rewarding challenge of working on programming language tooling.

I really liked the refactoring-friendly AST that underpins the IDEA architecture, together with the infrastructure for handling big code bases (indices, PSI stubs). I also liked the approach to unit testing taken in the Scala Plugin.

The downside of course is that is makes it hard to reuse the parser and typechecker from the language.

Continue reading

Posted in Interviews, News and Events | Tagged , | Leave a comment

IntelliJ IDEA Team at Scala Days 2014

The Scala community knows that the place to be on June 16th – 18th is Scala Days 2014 conference. So, the entire team behind the IntelliJ Scala plugin went to Berlin to embrace the awesomeness of this event.

Besides attending the talks (I wish I had enough time to hear them all), we delivered our own presentation Good to Great: IntelliJ IDEA and Scala (hosted by Alexander).

We also had a booth with amazing giveaways that included IntelliJ IDEA Yo-Yos (and stickers):

 

Even though the distribution of Yo-Yos was, undoubtedly, our main goal, we were very happy to meet IntelliJ Scala plugin users in person. What can I say? Sometimes we had a feeling of being rockstars (thanks for all the praise, folks!), sometimes, well, we could only humbly promise to fix this or that bug…

Meeting real Scala rockstars like Martin, Jason, Josh, just to name a few, was a real pleasure.

Thanks to everyone who took care to answer our questionnaire. You’ve been very helpful, and here’s just a few stats we’ve collected: Continue reading

Posted in News and Events | Tagged , , , | 1 Comment

Scala and Play 2.0 Plugins Update 0.38.437 is Out

Good news, everyone! The fresh versions of Scala and Play 2.0 plugins have arrived, and we’re going to briefly tell you what new goodies this update brings.

HOCON format

First of all, Roman Janusz has made a great contribution to Scala community by adding the HOCON format support to IntelliJ IDEA, and the Scala plugin now provides support for it out of the box.

Better import management

We have finally fixed the problem with incorrect imports (e.g. scala.Some), so you can use Optimize Imports to eliminate all bad imports in your code.

In addition, the Optimize Imports has been improved in several other ways:

  • Optimizing imports on the fly
  • Lexicographical sorting of import statements
  • Possibility to disable the grouping of imports from the same package in a single statement
  • Grouping imports
  • All imports are fully qualified by default

Faster and more user-friendly Scala worksheets

They’re just plain better. Read more details in the previous post.

Extract Trait refactoring

This is a new refactoring that helps you define new traits from existing classes.

Extract Method refactoring improved

This good old refactoring has been improved and can now search for duplicates and extract a case class when multiple output is detected. Plus, it now has fewer bugs and work a bit faster.

More inspections for collections

And last but not least, we have new code inspections for you! This time, they help you improve code working with collections:

  • contains(_ == x) ==> exists
  • getOrElse(null) ==> orNull
  • product, min, max ==> foldLeft, reduce
  • Option.map.getOrElse ==> fold
  • Map.get.getOrElse ==> getOrElse
  • !isEmpty ==> nonEmpty

That’s pretty much it. For the full list of changes, see the Release Notes.

As always, you’re welcome to share your feedback in our discussion forum as well as submit bug directly to the tracker.

Develop with Pleasure!

Posted in New Features, Release report | Tagged | 5 Comments

Meet The New Scala Worksheets in IntelliJ IDEA

A few months ago we’ve significantly improved the Scala Worksheets performance. Today we made them even better, and by that we mean more user-friendly.

Now you can fold the output without affecting code on the left side, and expand only blocks output that match a specific statement:

scala_worksheet_2

 

 

Plus, you can improve evaluation performance by clearing the Make project option on the toolbar which disables automatic checking of project changes.

The new Scala Worksheets are available in the latest nightly build of the Scala plugin for IntelliJ IDEA 13.

Develop with Pleasure!

 

Posted in New Features | Tagged | 18 Comments

Scala and Play Plugins Update 0.36.431 in IntelliJ IDEA 13.1.2

New versions of Scala and Play plugins for IntelliJ IDEA 13.1.2 are available.

The new features in this release and previous 0.35.683 version include:

  • Extract Method improvements
  • Fixes for Dynamic implicit apply calls
  • i18n support fixed
  • Added uTest support
  • Scala Worksheet bugfixes
  • SBT support bugfixes
  • Play 2.0 support bugfixes
  • Improved multiline strings editing
  • Perfromance improvements (Structure View, i18n)
  • Memory performance improvements (Structural Types like in Scalaz)

Full changelist is available here: changelist on GitHub.

Enjoy!

Posted in Uncategorized | 4 Comments

Scala and Play Plugins Update in IntelliJ IDEA 13.1

This is never too late to deliver the good news, so here’s what you can find in the latest update for IntelliJ IDEA 13.1 Scala and Play plugins:

  • Scala worksheet improvements
  • Better SBT support
  • More stability and performance
  • And, of course, many bugfixes

Right now we are also working on other awesome new features, e.g. support for HOCON format in Play 2.0 plugin, so stay tuned for updates!

Posted in New Features, Release report | 12 Comments

Scala Worksheet: instant evaluation

More than year ago we implemented first version of Scala Worksheet. It had convenient interface, but it was possible to make coffee, while worksheet would finish evaluation, so it was almost unusable.

Now, in Scala plugin of versions 0.30.383 and 0.32.550, Scala Worksheet supports almost instant evaluation (don’t forget to use Ctrl + Alt + W shortcut):

Additionally your evaluation results will be saved even on the IDE restart until you will clean it or re-evaluate.

We are also planning to add highlighting for the output, so any suggestion are welcome as it’s not obvious how to do it.

Enjoy!

Posted in Uncategorized | 26 Comments

Try Faster Scala Compiler in IntelliJ IDEA 13.0.2

The latest update to Scala plugin (v0.30.375) available for IntelliJ IDEA 13.0.2 lets you choose what compiler you want to use: SBT incremental or IntelliJ IDEA.

Continue reading

Posted in New Features | Tagged , | 18 Comments

Heading to the Perfect Scala Code Analysis

We are extremely happy to let you know that the latest version of the Scala plugin (0.29.479) for the upcoming IntelliJ IDEA 13.0.2 has no false error highlighting for our own source base anymore. Moreover, a number of corresponding tests have been added to our TeamCity server, so we don’t expect to see a regression further.

The next step will be using source base of an external popular open-source project as a test for spotting false errors highlighting. That’s why we ask you for suggestions on such projects.

Let’s make IntelliJ IDEA code analysis better!

Posted in Uncategorized | 31 Comments