Eclipse Project 4.5 M7 - New and Noteworthy

Here are some of the more noteworthy things available in the Mars milestone build M7 (2015-05-01) which is now available for download.
We also recommend to read the Tips and Tricks, either via Help > Tips and Tricks... or online for Platform, JDT, and PDE.

Platform
Improved "Open With..." dialog The Open With > Other... dialog now has
  • a filter field
  • options to remember the selected editor as default for the selected file name or type

"Open Resource" dialog can now filter duplicate resources. With the new Hierarchical view in the Project Explorer, it has become more frequent to have multiple workspace projects with overlapping resource trees. The Open Resource dialog has been enriched with a new option to allow hiding entries that reference the same underlying resource, and to show only the most relevant.

e4 tools integrated into Eclipse platform Parts of the e4 tools have been integrated into the Eclipse platform project. Mainly the Eclipse 4 application model editor and related wizards are now directly available via the Eclipse update site. The e4 project wizard has been integrated into PDE, see the PDE section for more information.

XPath expressions for parent element ID in Model Fragments When specifying the target for a fragment contribution, you can now use an XPath expression or a comma-separated list of element IDs instead of a single element ID.

The XPath expression uses JXPath internally, so it should reference attributes of the model object, not the XML file.

These 2 samples are equivalent:

parentElementId="MyMenu1, MyMenu2"
parentElementId="xpath://*[@elementId='MyMenu1' or @elementId='MyMenu2']"

This feature opens up the possibility to:

  1. Add a fragment to multiple places in a model
  2. Target a fragment to multiple application models
  3. Specify attributes (such as tags) as the target
Icons are displayed in model editor and model spy If an Icon URI is defined, it is now displayed in the model editor and in the model spy:

Better CSS support for Forms-based editors CSS support for Forms-based editors has been improved. The dark theme included in the Eclipse SDK takes advantages of that, as depicted in the following screenshot:

Heap Monitor can be styled, dark theme uses that The heap monitor has been extended to allow to set its background color, and the dark theme uses that. The following screenshot show the heap monitor after the change.

JDT
New icon set in JDT The JDT project now uses png icons to render better with a dark theme. The following screenshot shows a few example icons, on the left side is the old gif icon, on the right side the new png icon.

Show skipped tests only in JUnit view The JUnit view now has a filter to show only the skipped (ignored or assumption failed) tests:

Add and remove parentheses around lambda parameter New Quick Assists (Ctrl+1) have been added to add and remove the parentheses around lambda parameter:

New Java editor templates New templates (try_finally, finally, lock) have been added to insert commonly occurring patters in concurrent programming:

More precise flow analysis Flow analysis, as performed by the compiler to warn the user about potential programming problems, has been made smarter. Some examples are:
  • Leverage knowledge that auto-boxing always produces a non-null value.
  • Leverage knowledge that certain compiler-generated methods - like valueOf() and values() on enum types - provide non-null values.
  • Various improvements in resource leak analysis.
Render all annotations in Javadoc hovers Javadoc hovers can now render all annotations, including type annotations (having a TYPE_USE target).

In particular, working with external annotations benefits from this feature, as the Javadoc hover now shows these external annotations as well, thus providing the attached information right where it is needed. Also the Javadoc view is able to show the same information.

Javadoc hover after having applied the Annotate command for the return type of Map.get():

As of Eclipse 4.5, this feature is only enabled in projects that are configured for annotation-based null analysis.

PDE
Create an E4 project from "New Plug-in" wizard It is now possible to create an E4 project using the New Plug-in Project wizard. Select This plug-ins will make contributions to the UI and create a rich client application:

On the next page will get a template to create an E4 project:

Then you can select to generate some sample content:

And you get your E4 project in your workspace:

Create an API Baseline from a Target Definition API Baselines can now be created from a target definition in the Plug-in Development > API Baselines preference page.

The above features are just the ones that are new since the previous milestone build. Summaries for earlier Mars milestone builds: