By Scala IDE team on Sep 28 2015
We are happy to announce a new Scala IDE release that contains beside of some bug fixes, especially around refactoring support, also new features like the Async debugger and Auto Edits.
New and noteworthy
This is definitely the biggest new feature in the IDE. Actually, Auto Edits aren’t that new - they already existed but because of various limitations their underlying architecture got a redesign. Auto edit are these little features that support you during typing. Whenever the code is indented for you, a parentheses is automatically closed or some code template is expanded - it is their work. Because not every developer liked these automatic edits, all of them were made optional. It is now in your power to enable them as you wish. The following auto edits are available:
You should especially checkout the Auto Edits “Insert template into editor whenever its name is written” and “Surround a block with curly braces”. These ones are among the new ones and may be able to improve your live a bit. Check out there description at the bottom of the page (not shown in the above screenshot).
The Async Debugger is an improvement to the Scala Debugger. It enables control flow tracking in your cutting edge reactive applications. It is the must for every developer who needs to trace control flow in existing and newly built applications where Scala Future or Akka Actors are playing a key role. This debugger improvement allows you to stop at breakpoints and find the trigger of the suspicious event when it was sent from a different thread.
For the beginning there is the “Async Stack View” introduced. It allows you to jump to the sender of a message in an actor system and to find out about the context where a Future is started. You can see the debugger in action in this talk by Iulian Dragos.
Scala 2.12 Support
A new major version of Scala is coming and Scala IDE should of course be able to handle it well. If you want to check out the latest 2.12.0-M2 you can do so. The only thing you have to do in order to make Scala IDE happy is to add it as a Scala installation to your workspace. Read this article if you don’t know how to add such a Scala installation.
Configurable Scopes Building
The 4.1 release added a new feature: Scopes Building. The purpose of this feature was to make building of your projects faster by splitting them up in the three different scopes
macros. This feature is hardwired to source folders, whose names had to match exactly the name of one of the scopes. With this release we lifted this requirement. It is now possible to assign every source folder any build scope you want. This can be done in the project configurations:
Improved Refactoring Support
Beside from some new features, especially the Refactoring support of Scala IDE got better in this release. Moving files around in your project or renaming classes and methods is now safer than ever. If you want to know more about which concrete bugs have been fixed, have a look at the changelog. Most of the bug fixes were done by Matthias Langer, thank you Matthias!
Together with this Scala IDE release, there is also a new version of scala-refactoring released, which can be consumed as a standalone library. The library is available for 2.10 and 2.11 under the following artifact ID:
"org.scala-refactoring" %% "org.scala-refactoring.library" % "0.7.0"
For the full list of changes, see the changelog.
As for every release, we’ll take a look at some statistics from our bug database.
- 73 tickets closed
- 57 fixed tickets (the difference being due to invalid or duplicate tickets)
33 Simon Schäfer
9 Matthias Langer
8 Wieslaw Popielarski
4 Iulian Dragos
1 Lance Finfrock
1 Andrey Ilinykh
The following statistic contains the accumulated commits of the following repositories:
% git shortlog -sn --no-merges 4.1.0-vfinal..4.2.0-vfinal
% git shortlog -sn --no-merges 0.6.3S-4.1.0rc1..0.7.0
% git shortlog -sn --no-merges 0.4.6-2..0.5.0
% git shortlog -sn --no-merges 0.3.0..0.4.0
% git shortlog -sn --no-merges 0.2.4-2..0.2.5
209 Simon Schäfer
51 Matthias Langer
27 Iulian Dragos
21 Wieslaw Popielarski
17 Jerzy Müller
2 Mirco Dotta
1 Stephen Haberman
1 Andrey Ilinykh
1 Lance Finfrock
1 Jason Zaugg
1 Seth Tisue