Here are some of the more noteworthy things available in the Neon 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 | |
Word wrap in text editors |
A Toggle Word Wrap button has been added to the workbench toolbar. Shortcut: Alt+Shift+Y.
By default, text editors are opened with word wrap disabled. |
Commands and shortcuts to zoom in text editors |
In text editors, you can now use Zoom In (Ctrl++ or Ctrl+=) and Zoom Out (Ctrl+-) commands
to increase and decrease the font size.
Like a change in the General > Appearance > Colors and Fonts preference page, the commands persistently change the font size in all editors of the same type. If the editor type's font is configured to use a default font, then that default font will be zoomed. |
Pinch to zoom in text editors |
To temporarily zoom the editor font in text editors, use a "pinch" gesture on a touchpad.
Put two fingers on the touchpad and move them apart or together.
To reset the original font size, rotate two fingers by at least 45°, or close and reopen the editor (Navigate > Back). Those gestures only affect the current editor. Changes are neither propagated to other editors nor persisted. Note: SWT currently only supports these gestures on OS X and on Windows systems that use the native multi-touch support. Touchpads that emulate mouse move/scroll events don't support gestures. Gesture support on GTK is not implemented yet. |
Eclipse workspace launcher now fully functional on Wayland |
Eclipse has been updated to include improved support for the Wayland display manager.
Previously, launching Eclipse on Wayland was possible only if not using the native launcher due to a bug that would cause the workspace launcher to hang and eventually crash. This has now been fixed, allowing Eclipse to launch on Wayland just as it would on X11. |
"New..." button for creating Working Sets |
A New... button has been added to the WorkingSetConfigurationBlock :
This saves quite a few clicks when creating new Working Sets. |
Platform Developers | |
ISideEffect databinding API |
org.eclipse.core.databinding.observable.ISideEffect allows you to react
to changes in observables without attaching listeners. For example, the
following code will bind the text "Your username is: xxxx" to a label and
will update the label whenever the username changes.
IObservableValue<String> username = ... Label yourUsername = ... ISideEffect sideEffect = ISideEffect.create( () -> {return "Your username is: " + username.getValue();}, yourUsername::setText);ISideEffects will automatically determine which observables to listen to, can react to changes in multiple observables, and will avoid performing excessive updates if the observables fire many change events in a short period of time. |
New API added to Control for more efficient processing of layout requests |
SWT has added a new requestLayout() method to the Control and Composite classes.
This method does essentially the same thing as
The snippet, above, is currently the most efficient method of triggering layouts in SWT,
but most developers are unaware of this. Most Eclipse developers invoke
However, be aware that changing existing invocations of |
Dark theme styling for StatusDialog |
The org.eclipse.jface.dialogs.StatusDialog and its subclasses are now styled in the dark theme.
Before this change, the message area was hard-coded to white.
|
APIs changed to varags |
A few platform APIs have been changed to allow varargs invocation:
|
New API: MApplication#getCommand(String) |
MApplication#getCommand(String)
is a faster way to access a command directly via id. This new API is used by the Eclipse IDE
to speed up its application launching.
|
API for switching perspectives |
The EPartService#switchPerspective(String/MPerspective)
API has been added.
|
New API for accessing the application context |
The IEclipseContext of the MApplication object can now be directly accessed via a child context, via the IWorkbench.APPLICATION_CONTEXT_KEY key.
// this is a child context IEclipseContext ctx =...; // get the application context IEclipseContext applicationContext = ctx.get(IWorkbench.APPLICATION_CONTEXT_KEY); |
JFace databinding enhancements |
The new static IConverter.create(Object, Object, Function) allows to create a converter
using a lambda expression. On a similar note, the static UpdateValueStrategy.create(IConverter) has been added.
|
A new style constant to indicate Bidi "auto" text direction |
A new text direction constant SWT.AUTO_TEXT_DIRECTION has been introduced to indicate
Bidi "auto" text direction. This is now also supported by the StyledText control.
Auto text direction was introduced in the Mars (4.5) release as a bitwise OR of
Behavior: When Note: This is a HINT and it works on Windows only.
Usage:
|
JDT | |
Rename options |
The Refactor > Rename popup now shows an Options... link which opens
the full Rename dialog that provides more options like renaming a field's getter and setter methods.
The dialog can still be opened via the menu button in the popup or by pressing Alt+Shift+R again. The in-place mode can be disabled entirely via Preferences > Java > Rename in editor without dialog. |
PDE | |
Plug-in template with an Eclipse 4 SWT view |
In the plug-in templates, it is now possible to choose:
plug-in with an Eclipse 4 SWT view.
To get this template, create a new plug-in project and answer 'no' to the question: Would you like to create a Rich Client Application? Then, the 'Plug-in with an Eclipse 4 SWT View' template will be proposed in the list:
The generated plug-in will contain a model fragment with a sample E4 view that:
|
Plug-in template with an Eclipse 4 Handler |
In the plug-in templates, it is now possible to choose:
plug-in with an Eclipse 4 handler.
To get this template, create a new plug-in project and answer 'no' to the question: Would you like to create a Rich Client Application? Then, the 'Plug-in with an Eclipse 4 Handler' template will be proposed in the list:
The generated plug-in will contain a model fragment with a sample E4 hello world command that appears:
|
PDE perspective uses Project Explorer | The PDE perspective now uses the Project Explorer instead of the Package Explorer view by default. |
Import and export packages in Plug-in Manifest editor supports prefix wildcard matching by default |
The import and export package dialog in the Plug-in Manifest editor uses wildcards by default. For example, to add
org.eclipse.e4.core.services as package dependency,
you can type in services instead of *services .
|
Plug-in Image Browser Filtering |
In Plug-in Image Browser view, it is now possible to filter icons by
their full path or name.
Use the new ImageFilter field to provide the search criteria (? = any character, * = any string) to find the icons with matching path or name.
|
Equinox | |
Startup time improvements | Equinox applied various improvements that reduce the startup time for the Eclipse IDE and other OSGi-based applications. |
Export Preferences uses alphabetic order | When you export your preference settings via File > Export... > Preferences, the preferences are now sorted alphabetically in the resulting file. |
Equinox defines Declaratives Services via Require-Capability | Following the OSGi specification, the Equinox Declarative Services implementation defines its capabilities via Require-Capability. This will allow the Eclipse IDE to change its dependencies and make the Declarative Services implementation exchangeable. |
The above features are just the ones that are new since the previous milestone build. Summaries for earlier Neon milestone builds: