Platform and Equinox
|SWT provides resolution-based auto-scaling||
SWT now automatically scales images on high-DPI monitors on Windows and Linux, similar to the Mac's Retina support on OS X.
In the absence of high-resolution images, SWT will auto-scale the available images to ensure that SWT-based applications like Eclipse
are scaled proportionately to the resolution of the monitor.
For comparison, here's how it looked in Mars without high-DPI support:
|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.
|Automatic Save of dirty editors||
Auto-save of dirty editors is now available in Eclipse. The autosave option is disabled by default.
A new autosave preference page (Preferences > General > Editors > Autosave) is available and allows to enable/disable the autosave and change the interval of autosave.
The countdown is reset on keyboard activity, mouse click, or when a popup is displayed (e.g. content assist, preference page, ...).
|Search in binary files||
The Search > File... dialog has a new option to search in binary files as well.
By default, the option is disabled, and matches are only reported in files that have the Text content type, or in files that have no content type and don't contain the null character (\u0000).
|Terminate and Relaunch from history||
A Terminate and Relaunch option is now available while launching from history.
The default setting is to launch without terminating previous launches. To enable automatic termination,
select the option "Terminate and Relaunch while launching from history" on
Preferences > Run/Debug > Launching.
The behavior not selected on the preference page can also be activated on-demand by holding the Shift key while launching the configuration from history.
Hint: You can still open the dialog to edit a launch configuration by holding the Ctrl key while selecting the configuration from history.
|Directly start previously selected workspaces in the launcher||
The workspace selection dialog now allows you to start a previously selected
workspace directly via a link. The path to
the workspace is shortened. The full path is available if you hover over the link.
You can remove existing entries via the context menu.
|Workspace name shown in window title by default||
The workspace name is now shown at the beginning of the window title by default.
The initial name is the name of the workspace directory.
The name can be changed or cleared in Preferences > General > Workspace.
|Quick Access improvements||
Quick Access (Ctrl+3) is a small text field in the toolbar. You can use it to trigger any command in the Eclipse IDE.
You can now restrict the search to Views, Commands, etc. by typing the category name followed by a colon.
For example, to filter the list of all the views, start typing
A few usability bugs have been fixed: The tooltip shows the keyboard shortcut, the number of search results per category is independent of the size of the proposals window, and the list with previous choices already opens when you click the field with the mouse.
|Hide the window toolbars||You can use the Toggle visibility of the window toolbars command (via Quick Access: Ctrl+3) to hide all currently visible toolbars of the current window. Executing the command again reveals these toolbars again. This allows you to maximize the space available for editors and views. If you minimize a stack after you selected this command, the minimized stack will be visible until you trigger the command to hide the toolbars again. This allows you to decide which minimized stacks are currently useful for you.|
|Perspective names hidden by default||
To save space in the toolbar, the perspective switcher has been changed to show only the icons of perspectives by default.
You can show the text again via the context menu.
The Full Screen feature is now also available on Windows and Linux. You can toggle the mode via shortcut (Alt+F11) or menu (Window > Appearance > Toggle Full Screen).
When Full Screen is activated, you'll see a dialog which tells you how to turn it off again.
On the Mac, Window > Toggle Full Screen (Control+Command+F) still works as before.
|Preference setting to disable the Eclipse styling (CSS based theming)||
You can disable the CSS-based styling of the Eclipse IDE via
Preferences > General > Appearance > Enable theming.
This will prevent Eclipse from rendering custom colors, shades, and borders, and may result in better performance.
|Selecting the text editor for unassociated file types||
On the Preferences > General > Editors > File Association page, you can now define an editor selection
strategy for unassociated file types. Three strategies are proposed out-of-the-box:
Keep in mind that in any case, it's possible to assign an editor for an unassociated file type either via this same preference page, or via the Open With > Other... context-menu on the file.
The implementation comes with a new extension-point
|'date' template variable with custom format||
The 'date' variable, supported in editor and code templates, now allows you to specify which format to use when inserting the current date (or time).
|'word_selection' and 'line_selection' template variable with default values||The 'word_selection' and 'line_selection' variables, supported in editor and code templates, now allow you to specify a default value to use if the current text selection is empty.|
A new Import Projects wizard is available via the File > Open Projects... menu and via the general
Import... command under General > Projects from Folder or Archive.
Compared to other ways to import or create projects, this wizard aims at being a universal wizard that, from a source directory or archive, can detect and configure various kinds of projects.
This wizard relies on an extensible set of strategies that look at the content of the import source to detect file types, project layout patterns, or even look into some files in order to deduct which folders should be turned into projects and how those should be configured. Configuration usually involves setting up project natures and preferences.
The import strategies are contributed via the new extension point
|"New..." button for creating Working Sets||
A New... button has been added to the
This saves quite a few clicks when creating new Working Sets.
|New Welcome theme 'Solstice'||
The Welcome/Intro introduces a new Solstice theme
providing a new modern appearance. The Welcome also
introduces a new quadrant-based root page, qroot,
which supports a new command-driven section defined through
the org.eclipse.ui.intro.quicklinks extension point.
These quicklinks are intended to be populated by
|Welcome Launchbar restored||
In Eclipse 3.x, the Go to Workbench button
on the Welcome page would minimize the Welcome page to the window
status bar. This behavior has been restored for Eclipse 4.6.
|Improvements in the Mac default theme||
The look of the toolbar in the Mac default theme was adjusted to align with other Mac applications.
New toolbar styling:
|Link widget background color can be styled via CSS||
You can now style the background color of the SWT Link widget. This is used in
the default dark theme provided by Eclipse.
|Themed scroll bar enabled for editors in dark theme||
It's now possible to replace the native scroll bar of a StyledText by a styled overlay. This is enabled
by default in the dark theme on Windows.
This feature can be disabled in the Windows dark theme by setting the
Note that it may be added through css to any theme (see
properties available for customization and a css example)
-- the user may always override the theme setting by using the
Caveats: We're aware that the themed scroll bar is not currently available for all elements (such as trees and tables), and some places where the scroll bar was invisible (such as compare editors) may now show a scroll bar. These will only be fixed for Eclipse 4.7.
|Improved menu support on GTK3||
The SWT GTK3 port has received an update to its menus as part of the push to update SWT
to GTK3. Here are some of the notable changes.
Padding: By default, SWT menus now look similar to those in OS X: Text is not strictly aligned. This is due to a new way in which menus are constructed in GTK3 (see https://wiki.gnome.org/HowDoI/GMenu#Icons for more details). In order to align all text entries in a menu, simply launch the SWT application with the environment variable SWT_PADDED_MENU_ITEMS=1.
Checkboxes and images: On GTK2.x, a menu entry was limited to either a checkbox or an image. On GTK3, SWT now supports menu entries that contain both an image and a checkbox.
The image below shows a screenshot of the default GTK3 menu on the left, compared to an aligned GTK3 menu on the right.
|Tweaking SWT's auto-scaling||
If you don't like SWT's default appearance on HiDPI monitors, here are a few hints to
tweak the scaling:
On GTK, the standard way to configure scaling for a single application is to set the
$ GDK_DPI_SCALE=1.5 ./eclipse
On Windows and GTK, SWT's auto-scaling can be configured using the
And here are all the
The current default is "integer". Note that non-integer scale factors exhibit various problems like jagged borders or even completely missing images.
The scaling method can be configured by setting the
The current default is to use "nearest", except on GTK when the deviceZoom is not an integer multiple of 100%. The smooth strategy currently doesn't work on Windows and Mac OS X.
Auto-scaling cannot be disabled on the Mac as it is provided by the OS.
|Advanced capabilities preferences are now displayed in place (no extra dialog)||
Previously, the entries in the Capabilities preference page were displayed in a list. If you wanted to edit them, you had to open an extra dialog.
Now you can directly enable or disable the capabilities from the preference page, as depicted in the following screenshot.
Since this dialog has API to prevent advanced editing, if the property ALLOW_ADVANCED is set to false, the original list is maintained and will be shown, which allows you to enable/disable only the main categories (not individual capabilities).
|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.
|Solaris builds are now 64-bit only||
In Neon, the 32-bit builds of Solaris (both x86 and SPARC) have been discontinued as there is no 32-bit Java 8 JRE available on Solaris.
These builds have been replaced by the 64-bit builds for Solaris x86 and SPARC.
|Ant 1.9.6||Eclipse has adopted Ant version 1.9.6.|
|Java 9 previews||
Launching Eclipse with recent Java 9 previews fails with
The workaround is to add the VM argument
either on the command line after
At least on Windows, this workaround only seems to work when the
(Older Java 9 previews required using the two arguments