What’s new in Eclipse Photon M5?
We’re moving closer to the next Simultaneous Release at the speed of light. What does Eclipse Photon M5 have to offer in this latest milestone release?
Eclipse Oxygen arrived last year to general fanfare. And while we’ve been enjoying this breath of fresh air, it’s always important to keep a weather eye on the horizon.
It’s been a few months since we last heard from Eclipse Photon.
What’s in this latest milestone release? Well, Eclipse Photon was supposed to focus on “improving the usability and the performance of the Eclipse platform”. Let’s see if it’s delivering on those promises, shall we?
Not much has changed in the platform for this milestone release. The only news is a name change, as
Job names as thread names. Previously all that the running
Worker‘s had were enumerated thread names, without any hint what the current
Worker is actually doing. This made it confusing to keep track of which
Worker was doing which
Job name is added next to the
Worker name, adding clarity and comprehension in the Eclipse application.
There’s a bit more to report over in the JDT.
First off, the debug view now listens to thread name changes if they are changed in the debugger JVM. Much like the worker instances from above, this shows live information. How does this work? Well, technical speaking, the Java debugger automatically adds a new (user invisible) breakpoint in the JVM and notifies clients (like Debug view) on a breakpoint hit. If this behavior is undesired for some reason, product owners can disable it via product customization.
You can also navigate easier to
switch statements. Ctrl+click or use Open Declaration (F3) on
default keywords to quickly navigate to the beginning of the
It’s also easier to paste module-info.java code in Package Explorer. Just copy code and selected a source folder in a Java 9 project in the Package Explorer view and use Ctrl+V. This will automatically create a module-info.java file in the source folder with the copied content.
Other items for your consideration:
- Content assist support is now available for module declaration name. Just use (Ctrl + Space).
- When a method exit breakpoint is hit, the value being returned is now shown in the variables view.
- The Display view has been renamed to Debug Shellto better match the features and purpose of this feature.
Formatter profile page
Some UX design shifts: there is a new formatter profile page. You don’t need to open a dozen tabs to see how things would look! The new profiler page makes it easier to set preferences for formatting purposes with an expandable tree. You can even use filtering to display settings that match a certain phrase or value.
This new profiler page also allows you to “Modify All” that lets you set all their preferences to the same value with one click. Other preference options include convenient controls: number values can be modified with arrow buttons; wrap policy settings are controlled by simple toolbars that display all the possible options.
You can even check out how this would work with the preview panel on your own code. While there is a sample code option, being able to see how your own code would be modified is a helpful option.
PDE now handles dependencies described by the
Provide-Capability manifest headers. These dependencies are taken additionally into account when computing the required bundles for a selected set of bundles from the target platform.
The most noticeable place where this feature is in Eclipse launch configuration page. Further the computation of required plug-ins is performed recursively now until added plug-ins do not introduce more transitive requirements.
In other news, an Eclipse Launch Configuration can now be based on a prototype. A prototype seeds its attributes with its associated Eclipse Launch Configuration based on the settings specified in the Prototype tab. Once that Eclipse Launch Configuration has been created, it can override any initial settings from the prototype. Developers can also reset the settings of an Eclipse Launch Configuration with the ones from its prototype. An Eclipse Launch Configuration maintains a link to its prototype, but is a complete stand-alone launch configuration than can be launched, exported, shared, etc. Very customizable!
There’s even some support for Regex Module Declaration Search. The existing method has been enhanced for supporting regular expression search for model declarations.
These features are just the ones that are new since the previous milestone build (M4).