Platform | |
Animated waiting cursor on macOS |
During long taking UI actions the cursor switches to a waiting cursor. On macOS this used to be a static black/white circle.
From Eclipse Photon the macOS system's busy cursor is changed to a spinning blue ball (also called beach ball).
|
Import/export preferences from preference dialog |
Easily accessible buttons for opening the Import/Export preferences wizards have been added to the lower left corner of the Preferences dialog. The wizards are still accessible through the File > Import... and File > Export... wizards.
|
The DirectoryDialog now uses modern style |
The DirectoryDialog has been re-implemented to use modern native widget introduced in Windows Vista.
The new look and feel is as illustrated below:
Regarding usage of newer
Hence, revisit the usage of
Note: Recommend to use a minimal set of words in the Title field of |
Report reference to missing nature as error marker |
On the Workspace preference page, there is now a new option to define the severity of an error marker
to show on a project when it references a nature that is not available.
As a typical error markers, those are reported as decorator in the Project Explorer and as an entry in the Problems view.
Clients can associate marker resolution factories to these markers, whose type id is |
Expanded Highlighting in Open Resource Dialog |
The Open Resource dialog now shows you how the search term matches the found resources by highlighting the names based on camel-case and pattern ( * and ? ) searches.
|
Undo/Redo Toolbar Buttons |
The main toolbar can now show Undo and Redo buttons.
The buttons are not available by default. They can be added via Window > Perspective > Customize Perspective...:
|
Export command id of key bindings to CSV |
On the Keys preference page the Export CSV action exports additionally the command id for key bindings.
|
Close newly imported projects upon completion |
The import wizard offers you the option to close the newly imported projects upon completion of the import process.
This might be beneficial if you're importing many projects and/or some projects have time-consuming builders configured.
This affects the wizards reachable via File > Open Projects..., File > Import... > Existing Projects into Workspace
and File > Import > Projects from Folder or Archive
|
JDT | |
Eclipse support for Java™ 9 |
Java™ 9 is here, and JDT fully supports it:
Note: It is not mandatory to run Eclipse with Java Runtime 9 to get the Java 9 support. However, a Java runtime 9 is required to be on a project's build path to compile a modular project against the system modules.
|
Configure tags to include and exclude in JUnit launch configuration |
You can provide tags to be included in or excluded from a test run in the Configure Tags dialog of JUnit launch configuration:
|
TestReporter entries displayed in Console view |
In JUnit Jupiter, a method parameter of type TestReporter can be used to publish additional data about the current test run which can be viewed in the Console view:
|
Quick Fix to add @NonNullByDefault to packages |
A new quick fix is offered to fix issues that are reported when the Missing '@NonNullByDefault' annotation on package warning is enabled.
If the package already has a Otherwise, the quickfix must be invoked from the problems view, and will create a When invoked from the problems view, both variations of the quick fix can fix the problem for multiple packages simultaneously. |
Escape non-ASCII characters when pasting into a string literal |
The Java > Editor > Typing > Escape text when pasting into a string literal preference option now has a suboption Use Unicode escape syntax for non-ASCII characters:
|
Advanced source lookup implementation |
More precise "advanced" source lookup implementation, particularly useful when debugging applications that load classes dynamically at runtime.
New org.eclipse.jdt.launching.workspaceProjectDescribers extension point can be used to enable advanced source lookup for projects with non-default layout, like PDE Plug-In projects.
New org.eclipse.jdt.launching.sourceContainerResolvers can be used to download sources jar files from remote artifact repositories, like Maven Central or Eclipse P2.
Advanced source lookup affects debug launches only and can be enabled or disabled with Java > Debug > Enable advanced source lookup preference option: |
PDE | |
New option to control PDE compiler warning |
There is an option to control the PDE compiler issue "Bundles with a Service-Component should set the Bundle-ActivationPolicy to lazy."
By default, this is set to warning.
![]() |
Support for environment argument tags in generic editor |
For the target files, highlighting and auto-complete are supported for environment argument tags in Generic Text Editor and the Target Editor Source tab.
![]() |
PDE detects and configure folders as projects during import |
When using the import wizard from File > Open Projects from Filesystem... or File > Import... > General > Projects from Folder or Archive, PDE detects
folders that can be turned into PDE projects (ie folders which contain a META-INF/MANIFEST.MF or a feature.xml ) and configure them accordingly.
Note that folders already configured as Eclipse projects (already containing a |
Platform Developers | |
Throttler |
UI updates in tight loops can degrade a system's performance, and users are also not capable to read information that fast.
In such cases class org.eclipse.jface.util.Throttler can now be used to limit the rate updates on the UI thread
with a specified time while executing the task wrapped in a Runnable .
An example for a use case are updates to a progress monitor, like in EGit's Import Project wizard. This wizard scans a directory
and report any found file to the progress (actually a public class ProgressMonitorPart extends Composite implements IProgressMonitorWithBlocking { [...] private Throttler throttledUpdate; [...] throttledUpdate = new Throttler(fLabel.getDisplay(), Duration.ofMillis(100), this::updateLabel); [...] protected void queueUpdateLabel() { throttledUpdate.throttledExec(); } |
Default debug hover contribution on Generic Editor |
The Debug framework contributes to the Generic Editor when the hover represented by an ITextSelection
can be adapted to an IVariable . So in order to take advantage of debug details on Hover in the Generic
Editor, you can simply use the org.eclipse.core.runtime.adpaters extension point and define an IAdapterFactory
from ITextSelection to IVariable to enable this feature.
If the current selection cannot be adapted (all adapter factories return null), the contribution to Generic Editor is ignored. The JDT project already contributes such an adapter. |
The above features are just the ones that are new since the previous milestone build. Summaries for earlier Photon milestone builds: