Platform | |||||
Modify project natures |
The Project Properties dialog now features a page to add or remove natures on a project.
As mentioned on the page, some natures may not properly handle manual addition/removal, so using this can lead to some inconsistencies in those cases. |
||||
Possibility to configure the color of text editor's range indicator | The text editor's range indicators's color can now be configured via the Colors and Fonts preference page. | ||||
Styling for text editor's range indicator | The Eclipse default dark theme now includes styling for the text editor's range indicator. | ||||
Improved text operation icons for the dark theme |
The block selection, word warp and show whitespace icons have been adjusted to look good in the dark theme.
Before: After: |
||||
Improved popup dialogs for the dark theme | Popup dialogs as for example the platform's update notification popup now uses a dark background and a light foreground color in the dark theme. | ||||
Improved text color in text editor for the dark theme |
The text editor now uses an improved font color in the dark theme so that you can read better.
|
||||
Allow workspace to build projects in parallel |
The Workspace preference page now has a new option to allow the workspace to build projects in parallel:
Under some safe circumstances, the workspace can now choose to build independent projects in parallel. In such
case, the maximum amount of jobs/threads that will be running builds in parallel will be controlled by this preference. A value of
The optimal value will depend on the machine and workspace projects specificities. Recommendation is to try relatively
low values (such as |
||||
Refresh on access on by default | For years the Eclipse IDE is shipping with a customization that files are automatically refreshed if the user accesses them. Other Eclipse based tools like the Spring Tools Suite were missing this customization, so now they do not have to manually instruct their IDE to see the update. | ||||
Open resource dialog always shows the paths |
You can now use the Open Resource dialog to see the file paths.
Previously it only showed the paths if there were duplicate entries.
|
||||
JDT | |||||
@NonNullByDefault improvements |
When using annotation-based null analysis, there are now more ways to define which unannotated locations are implicitly assumed to be annotated as @NonNull :
org.eclipse.jdt.annotations
containing an annotation type NonNullByDefault that can be applied to parameter and
module declarations (in addition to the previously allowed targets).
|
||||
Test sources | There is now support for running Java annotation processors on test sources. The output folder for files generated for these can be configured in the project properties in Java Compiler > Annotation Processing as Generated test source directory | ||||
Improved coloring of links in code element information in the dark theme |
The colors of links in code element information controls now take the color settings of the "Hyperlink text color" and the "Active hyperlink text color" from the "Colors & Fonts" preference page into account.
The readability in the dark theme has been improved a lot by this.
Before: After: |
||||
Improved coloring of inherited members in the Quick Outline in the dark theme |
The Eclipse default dark theme now includes styling of inherited members in JDT's Quick Outline. This improves readability in the dark theme a lot. The color can be configured via the "Java > Inherited Members" color definition on the Colors and Fonts preference page.
Before: After: |
||||
Generate dialogs use verbs instead of OK | The "Generate..." dialogs of the Java tools have been adapted to use verbs instead of OK. | ||||
Sort library entries alphabetically in Package Explorer |
The content of libraries are displayed in the order of the classpath. This makes it difficult to find
specific libraries by their name, especially when projects have many dependencies. The library entries
can now be sorted alphabetically when setting the preference "Sort library entries alphabetically in Package Explorer"
on the Java > Appearance preference page:
The default for this preference is OFF. |
||||
Formatter: align Javadoc tags in columns |
The formatter can now align names and/or descriptions in Javadoc tags in new ways. The formatter profile editor is available for selection, under Comments > Javadoc.
For example, the Align descriptions, grouped by type setting is now used in the built-in Eclipse profile. The setting previously known as Indent Javadoc tags is now called Align descriptions to tag width. The two settings related to @param tags also had their labels changed to better describe what they do. |
||||
QuickFix for unresolved module on module name in requires directive |
A new quickFix is offered on requires statements in the module-info.java file to fix issues that are reported due to unresolved module.
The below quickFix will be provided if the module related to the unresolved module error has its related classpath added to the class path and not to the module path.
This quickFix is applicable if the project is a Java9 project and has a module-info.java file This quick Fix can be invoked from the editor. Before the quickFix is applied the classpath entries look as below: After the quickFix is applied the classpath entries look as below: |
||||
Creation of module-info.java file on creation of a New Java9 Project |
A new feature is offered on creation of a java project with compliance Java9 or above for the creation of module-info.java file.
A new checkbox is added in page 2 of the project creation page, highlighted in RED in the Page 2 image below. Page 1 Page 2 The new checkbox for the creation of module-info.java file is checked by default If this checkbox is checked, upon project creation the below dialog will appear for creation of a new Selecting |
||||
PDE | |||||
Test sources |
Sources folders in plug-in projects whose project name ends with ".test" or ".tests", or contains ".tests.", are
now marked to contain test sources when using Plug-in Tools > Update Classpath...,
so the related filtering options in various tools can be used.
The exact name matching rule can be configured as regular expression in Preference > Plug-In Development in the group Test plug-in detection. Setting it to an empty value disables this mechanism.
|
||||
Command to update IU versions |
The right-click context menu within .target file source editors now contains a new Update IU Versions from Repositories command to update the version attribute of all units to the newest available version.
Before:
After:
|
||||
Improved coloring of the target file editor in the dark theme |
The text colors for .target file source editors have been updated to be more legible in the dark theme.
Before:
After:
|
||||
Platform Developers | |||||
New API: org.eclipse.e4.core.di |
The package org.eclipse.e4.core.di in bundle org.eclipse.e4.core.di has been released as API.
This package contains the following mentionable types:
|
||||
New API getAverageCharacterWidth added to FontMetrics |
A new method has been added in FontMetrics :
The method |
||||
Datetime on Gtk now has support for localization |
Datetime on Gtk now has support for localized date format. A snippet to demonstrate can be found Snippet370 . |
||||
Configure workspace description to allow independent projects to build in parallel |
The IWorkspaceDescription has received a new API method setMaxConcurrentBuilds(int n)
which allows to configure throttling of how many threads/jobs will be used in case workspace can
build independent projects in parallel.
At the moment, parallel builds with happen when under safe circumstances, depending on the scheduling rules involved
in Passing a value of The optimal value for throttling depends on your machine and workspace projects specificities. We do recommend to try relatively
low values (such as |
||||
JDT Developers | |||||
Package binding with recovery |
The existing method IBinding#getJavaElement() now
accommodates recovered packages in which case a null may be
returned for such problem package bindings. Pre-Java 9 compliant code
will continue to have a non-null return value for this api for packages.
|
||||
Equinox | |||||
Use SHA-256 to check artifact's data integrity |
To ensure data integrity of artifacts, alongside MD5, p2 now also generates and checks checksums using SHA-256 MessageDigest implementation, provided by any JRE. These checksums stored in two new artifact's metadata properties:
org.eclipse.equinox.artifact.comparator.checksum.sha-256 as a comparator ID.
|
||||
Support any MessageDigest implementation as artifact's checksum algorithm |
With new extension point org.eclipse.equinox.p2.artifact.repository.artifactChecksums , it is now possible to contribute any MessageDigest implementation as a way to calculate and check artifact's checksums:
artifactChecksums extension point's documentation.
|
||||
The above features are just the ones that are new since the previous milestone build. Summaries for earlier Photon milestone builds: