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 …
Eclipse Luna is here! 10 years after the first Eclipse annual summer release shipped, the Eclipse team is still shipping quality software on-time and on-budget. Eclipse Luna contains 76 different Eclipse projects and over 10 million lines of new code was contributed this year.
You can download it from Eclipse.org or from our high speed mirrors.
Since 2007 I’ve been counting down the 10 most New and Noteworthy features of each release. These articles highlight the features I’m most excited about. Here is my list for 2014.
2014 marks the 10th anniversary of Eclipse RCP, the Rich Client Platform. Using the Eclipse programming model, with OSGi, extension points and SWT, developers can build Rich Client Applications for the Desktop. This year, assembling RCP applications got a lot easier. The Eclipse product editor now supports platform specific launching arguments and config.ini properties. You can set program arguments and VM settings on a per-platform basis and bundle start levels can also be set in the product editor. Finally, software update sites can now be added to your product with ease.
The Sirius project combines modelling and graphical editors. Using Sirius, you can create graphical editors and a modelling workbench for your domain specific language. The elements in an EMF model can be mapped to graphical elements such as nodes, edges, images or containers and visual properties (such as colour, icons, line width, etc.) can be mapped to model properties. Editors and tool palettes can be integrated, providing a fully working graphical editor for your model. The Ecore Tools project, a graphical editor for EMF itself, has also been completely re-written using Sirius, providing an exemplary tool for this great technology.
EMF Forms is part of the EMF Client Platform Project, a framework for building EMF-based Rich Client applications. Instead of manually coding form-based UIs, EMF forms renders the user interface from a view model. The view model defines layout, components and the bindings to the EMF Model.
Master detail views, tables, trees and input dialogs can all be integrated by mapping the model element to the particular user interface widget. You can customize the label, hint text and supply custom validators to your forms. With EMF Forms, the data and view models are completely decoupled, easing both the development and the maintenance of these UIs.
While developing software, staying focused and in the flow helps maintain productivity. Context switching, distractions and continually moving between tools can easily break the flow. Flow is one of the reasons Eclipse is such a powerful IDE, since it brings all your development tools into a single workbench. But as good as Eclipse is, and as large as the ecosystem is, sometimes a tool is just not available as a plug-in. To assist you here, Eclipse now ships with a powerful terminal, providing you access to your system terminal directly from within the IDE.
The terminal is available on all major platforms and supports colours (syntax highlighting), tab completion, copy and paste and even VI Editing. The shell also supports remote system access, allowing you to connect to other systems in order to ease deployment, start a remote debugger or kick-off a command line build.
Originally a platform for Rich Ajax applications, RAP has transitioned into a general purpose Remote Application Platform. In addition to the web client, RAP now supports mobile clients and a desktop client is currently under development. Over the past year, a number of improvements have been added to RAP. The file upload dialog now supports Drag and Drop, the DropDown widget used for AutoSuggest has graduated from incubation and a powerful row template mechanism for tables has been introduced.
Instead of simple grids, row templates allow you to layout all aspects of each row. Images can be aligned in different positions, elements can be aligned relative to each other, and areas can be designated as selectable.
Developers are passionate about their tools, and many developers take great pride in customizing the look and feel of their development machines. With the dark theme, Eclipse now looks beautiful on development machines with other dark system settings enabled.
Eclipse Luna is also shipping with a new set of platform icons which improve the look on both light and dark themes and of course the theme is cross-platform, supporting Mac, Linux and Windows.
Code Recommenders is one of the most exciting and innovative plug-ins available for Eclipse. With standard content-assist, Eclipse will show you all the method calls, variables uses, template options, etc… for the current context. Most of these options are irrelevant, and if you’re learning a new API, all these options can be confusing. Furthermore, listing the code completion options in alphabetical order provides very little value. Code recommenders aims to fix this by displaying the available completion options according to their relevance.
SnipMatch by Code Recommenders lets developers search for, and quickly insert, code snippets. API usage is often more than method calls, requiring proper setup, usage and possibly teardown code. With SnipMatch, entire blocks of templated code can be inserted with a single click. To use SnipMatch, install code recommenders and press CTRL+ALT+Space.
Git tools for Eclipse (EGit) started in 2009 and has improved by leaps and bounds each year. Over the past 12 months a number of notable improvements have been added to EGit. You can now directly edit commits from the history view. You can also select multiple consecutive commits and squash them.
Interactive rebase has also been implemented. With interactive rebase, commits can be removed, squashed, edited or modified. The order of the commits can also be altered. Finally, the blame annotations in EGit have been greatly improved. A diff is shown in-line as well as links to the parent commit.
After 12 years, 200 votes, and over 181 comments, split editors have finally been introduced to Eclipse. Editors can be split horizontally ( CTRL+_ ) or vertically ( CTRL+{ ) allowing you to edit two parts of a file at the same time.
In addition to split editors, a number of other notable improvements have been added to platform. Perspectives can be re-ordered, GTK+3 is a proper SWT port, and line numbers are now on by default. For a full list of what’s new in the Eclipse Platform, checkout the New and Noteworthy.
Eclipse now has first class tool support for Java 8! From the Eclipse Java Compiler, to Maven integration. From the Memory Analyzer to the Java tooling, full Java 8 support is here.
The Java Tools provide quick-fixes for converting anonymous inner classes to lambda expressions as well as in-line lambda refactoring support. Eclipse also has support for lambda debugging and breakpoints. Code formatters for Java 8 constructs are available as is support for type annotations, including a set of annotations for null analysis. There is also a number of other enhancements such as better type inference, support for effectively final variables and default methods.
Java 8 represents one of the biggest Java releases ever. The Eclipse committers as a whole, and the JDT team in particular, should be really proud of the great work they did with Luna.
Thank you to everyone involved with the Eclipse Luna release! For more Eclipse Tips and Tricks, you can follow me on Twitter.
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 …