Eclipse Project Oxygen (4.7) M4 - New and Noteworthy

Here are some of the more noteworthy things available in the Oxygen milestone build M4 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 string matching in Quick Access You can now search for partial descriptions in Quick Access (Ctrl+3). The search result matches space-separated words in the search string. For example, searching for "clone repo", will match the "Clone a Git Repository" command.

The improved string matching works also in case of parenthesis, or when the search string matches the category name.

Filter previous choices in Quick Access The Quick Access (Ctrl+3) result list does not show duplicate elements anymore. Now, if a search result element is already in the "Previous Choices" category, it is no longer shown in another category.

Window title configuration The title window is now simpler and you can configure it from Preferences. By default the title displays workspace name, editor path and product name.

You can now use Preferences > Workspace to choose what to display in the window title: workspace name, perspective name, workspace path, and product name.

"Launch Group" launch configuration type The new Launch Group launch configuration type allows you to launch multiple other launch configurations sequentially, with configurable actions after launching each group member:
  • None: Continue launching the next member right away
  • Wait until terminated: Continue launching the next member only after this member has terminated
  • Delay: Delay launching the next member for a given amount of seconds.

New launch groups can be created via the Run > Run Configurations... or Run > Debug Configurations... dialogs.
Consistent heap status colors under Linux The heap status had poor contrast on Linux since GTK3.04. This has been resolved for the heap status to look consistent across all platforms.

Fixed Progress view colors for the dark theme The Progress view has been adjusted for the Eclipse dark theme.

Before:

After:

Breakpoints view: Sort By > Creation Time In the Breakpoints view's view menu, a new Sort By option has been added. This allows sorting by two ways:
  • Name: Current default order, sorts by the displayed name
  • Creation Time: Newly created breakpoints will be shown on top

JDT
Consistent Javadoc colors usage under Linux The Javadoc color usage on Linux was inconsistent since GTK 3.04. This has been resolved and support for Javadoc on the Eclipse Dark Theme has been added.

Before:

After:

Dark theme support:

Open Implementation of selected Type The Open Implementation hyperlink and the Navigate > Open Implementation action now open the implementation of the selected interface or class also. In the past, Open Implementation was only available for methods.

The hyperlink popup shows up when you hold Ctrl (on the Mac: Command), unless you've changed the modifier on the Hyperlinking preference page.
Automatically insert Braces at correct position The Java > Editor > Typing > Automatically insert at correct position > Braces preference option is now enabled by default. This will automatically insert the braces where they are required.

PDE
Nested categories support You can now organize features into hierarchies by using the nested categories support in the Category Definition editor.

The created definition can be used as input for the Categorize repository parameter in the File > Export... > Deployable features wizard. They are also visible in the Install dialog.

Feature project wizard filtered plugin selection You can now use a text filter when selecting plug-ins in the New > Feature Project wizard.

Option for workspace plug-ins overriding target plug-ins On the Plug-in Development preference page, in the General settings for plug-in development section, there is an option to specify if workspace plug-ins should override target platform plug-ins with the same id. By default, this option is enabled.When disabled, all plug-in versions from workspace and target platform will be used and for a plug-in id, the best available plug-in will be chosen.

Platform Developers
Lambda as KeyListener The KeyListener interface in SWT was enhanced to provide the KeyListener#keyPressedAdapter(Consumer<KeyEvent> c) and KeyListener#keyReleasedAdapter(Consumer<KeyEvent> c) static helper methods that accept lambdas and method references as listeners.
Update in API for decorating images The org.eclipse.jface.viewers.DecorationOverlayIcon class has received a new constructor that allows to more easily define decorated images based on an ImageDescriptor rather than Image. This allows to prevent API adopters to deal with creation and disposal of the underlying resource when using ImageDescriptor.

Example of API usage:

ImageDescriptor descriptor = /*base image descriptor*/;
return new DecorationOverlayIcon(
	descriptor,
	PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_DEC_FIELD_ERROR),
	IDecoration.BOTTOM_LEFT);
      
EHelpService released as API The EHelpService interface was released as API. You can access this service via dependency injection similar to other e4 services.
Equinox
Non-modal Install dialog The Install dialog available via Help > Install New Software... is now non-modal, so that you can do something else while waiting for the catalog to be fetched.

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