Eclipse Platform Improvements, Top Eclipse Kepler Feature #3

June 19, 2013 | 3 min Read

Eclipse Kepler is 8 days away and I’m into the Top 3 Features in my Annual Top 10 List. Number 3 on my list is the Eclipse Platform – arguable the most important component for anybody using Eclipse.

The Eclipse Platform has come a long way over the past 12 years. Eclipse originally targeted two windowing systems (Motif and Win32). The View / Editor stacks were fairly static, the extensibility was limited and the customizability of the UI was almost non-existant.

In 2012, Eclipse 4 was released (4.2 actually), and behind this major release was a new PlatformUI. The new platform was based on a dynamic model which could be extended and customized at runtime. While there were certainly some growing pains with this new platform, many of those have now been addressed and Eclipse 4.x is the platform of choice moving forward.

With Kepler, the Eclipse Platform is shipping 4.3. There are a number of New and Notable features.

Most importantly, the performance problems that plagued Eclipse have been addressed. In particular, some applications that were experiencing slow editor opening, closing, and switching are now much faster. Editor selection changes and the Open Resource dialog have also been made faster. A number of leaks have been addressed to avoid long-running applications don’t run out of memory.

Views and editors can be detached and multiple views can be combined into a single window and separated with sashes, stacks and arbitrary layouts. This is particularly important for those who want to spread their Eclipse windows across multiple displays.

Toolbars can also be dragged and repositioned.

The OpenResource dialog now supports “Open With” and “Show In”. This way you can choose which editor to open a file with (If you are like me, Dashcode would launch each time I tried to access a JavaScript file).

Also this year, the first official Eclipse 4 API is now available. This includes API for the user interface model and IEclipseContext / Dependency injection. There are some good resources for those of you ready to leverage the API in your own projects, including the EclipseCon 2013 API Slides, the RCP and Services Tutorials by Lars Vogel, and Jonas Helming’s Tutorials on e4.

In addition to this, there is an early access release of SWT running on GTK3 (See Bug 340067).

Also, with Kepler, the entire Eclipse Platform uses a new build technology. Historically, Eclipse used a custom build tool (called PDE/Build). While some claim that this was because of NIH Syndrome, the truth is that Maven was not around in 1999 / 2000 when Eclipse was being developed. Last year, the platform team made the decision to convert the build to Maven / Tycho, and this took over 1 year with several people working full-time. The result of this is a portable build for Eclipse that you can run on your own hardware. See the Platform Build CBI Page for more information.

And finally, while not technically part of the Eclipse Platform, the PDE (Plug-in Development Environment) has introduced a new view to help you search, browse and manage your icon / image files.

For more Eclipse Tips & Tricks, follow me on Twitter.

Ian Bull

Ian Bull

Ian is an Eclipse committer and EclipseSource Distinguished Engineer with a passion for developer productivity.

He leads the J2V8 project and has served on several …