Platform | |
Quick-Access matches Preference pages by keyword |
Quick-Access (Ctrl+3 ) now also returns Preference pages that have a keyword matching user
input.
|
Browser Editor can toggle auto-refresh |
The Browser Editor now contains a drop down option for enabling auto-refresh for local pages. When enabled, the Browser Editor will automatically refresh if the opened file is edited and saved.
|
Perfect matches appear first in selection dialogs |
Within selection dialogs, including Open Type and Open Resource, perfect matches appear as the first result, ensuring that users no longer have to scroll through historical matches and the alphabetically sorted list to find their desired result.
|
Delete nested projects |
The Delete Resources dialog now shows a Delete nested projects option to delete all projects whose location on file system is a descendant of one of the selected projects.
|
Debug perspective layout changed |
Default Debug perspective layout changed, see screenshot below. The aim is to give the editor area
more space and to show more relevant information without scrolling.
Display view, Expressions view and Project Explorer are now shown by default, Problems view replaces Tasks.
|
Right click option to export Launch Configurations |
The Export Launch Configurations Wizard is now accessible through the right click menu on Launch Configurations. This wizard is still available with File > Export > Run/Debug > Launch Configurations
|
Flat layout in tabbed properties view |
In the light theme the tabbed properties view now completely uses the same flat styling as the form-based editors do.
|
Open/Close Projects by Working Set in Project Explorer |
The ability to Open, Close, Close Unrelated, and Build all appropriate projects in a Working Set has been added to the right click menu of Working Sets in the Project Explorer.
|
Lucene update | Lucene bundles have been updated to version 7.0. The org.apache.lucene.misc bundle is not included as it's no longer needed by the Help system. This new Lucene version comes with new index version thus clients providing prebuilt indexes have to rebuild them with Lucene 7.0 for the index to be used, if the old version is supplied, Eclipse Help system will not use that index and generate a new one locally. |
Removed CVS from SDK product | CVS support is not included in the SDK anymore. The CVS feature can be installed from the platform update site. |
Added e4 tools to SDK product | The e4 tools for developing e4 based IDE and RCP components are now included in the SDK. The tooling can be removed via the installation details dialog. |
Accessibility support on GTK3 |
Significant improvements have been made in the Accessibility support on the SWT Linux/GTK3 port. Prior to M4, accessibility support on GTK3 was limited and often led to assistive technologies not interacting properly with SWT.
As of M4, Eclipse on Linux is accessible again. Users are able to use assistive technologies seamlessly with SWT GTK3, just as they were able to with GTK2, and without any hangs or crashes. |
JDT | |
PDE | |
PDE compiler reports absence of Automatic-Module-Name |
A Manifest builder warning is reported on the manifest file if there is no Automatic-Module-Name header in it
(required for Java 9 compatibility). The quickfix for this problem is to add an Automatic-Module-Name with the same
name as Bundle-SymbolicName . For a newly created plugin project, this is added
automatically. On the Plug-in Development > Compilers preference page in the
Plug-ins tab, there is a new option in the General section to control
the severity of this issue.
|
New icons for the Eclipse 4 RCP template |
The Eclipse 4 RCP template has been updated to use material design like icons.
|
Platform Developers | |
Contribute highlight reconcilers to the Generic Editor |
The Generic Editor now supports a new extension point to override the default highlighter and add multiple org.eclipse.jface.text.reconciler.IReconciler for highlighting to provided content-types.
Reconcilers attached to this extension point that listen to the preference <extension point="org.eclipse.ui.genericeditor.highlightReconcilers"> <highlightReconciler class="org.eclipse.ui.genericeditor.examples.TagHighlightReconciler" contentType="org.eclipse.core.runtime.xml"/> </extension> |
Dialog settings customization |
Platform now allows Eclipse product maintainers to specify initial dialog settings for
various bundles by providing following:
|
Added new API in StyledText to customize different line spacing |
StyledText.setLineSpacingProvider(StyledTextLineSpacingProvider lineSpacingProvider) can be used to customize different line spacing by implementing the
org.eclipse.swt.custom.StyledTextLineSpacingProvider interface.
For an example, see Snippet369
which implements text.setLineSpacingProvider(lineIndex -> { String line = text.getLine(lineIndex).trim(); try { return Integer.parseInt(line); } catch(NumberFormatException e) { return null; } });
|
Inlined annotation support |
org.eclipse.jface.text.source.inlined.InlinedAnnotationSupport draws the content of the annotations in the StyledText without the actual payload text nor modifying line numbers.
Each annotation takes care of placing the necessary space, vertically or horizontally, in the StyledText widget to draw the content.
The example InlinedAnnotationDemo draws:
|
Removal of Update Manager API | The Update Manager API was dropped in favor of p2. All remaining references to the API have now finally been removed. The org.eclipse.update.* bundles are removed from all configurations. |
Equinox | |
P2 handles generic bundle requirements/capabilities |
As more OSGi technologies rely heavily on abstract dependencies to wire a consistent application it
became important for p2 to have first class handling of such dependencies. You are now able to use p2 to
provision "soft" bundle dependencies that cannot be expressed as Import-Package or
Require-Bundle manifest headers. Such dependencies are described by the
Require-Capability and Provide-Capability manifest headers, which p2 can now process.
For example, a consumer bundle may import the API package of an OSGi service ( |
The above features are just the ones that are new since the previous milestone build. Summaries for earlier Photon milestone builds: