blob: 9eb12a9b14f6756dea1a1c0f779b03d25a62de46 [file] [log] [blame]
//////////////////////////////////////////
* Copyright (c) 2015, 2016 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Wayne Beaton (Eclipse Foundation)- initial API and implementation
//////////////////////////////////////////
[[platform]]
== Platform
=== General
==== Improved interactive performance and reduced memory consumption
This and earlier milestones contain a multitude of fixes to enhance interactive and startup performance of the Eclipse IDE, and to reduce overall memory consumption.
TBD: insert some benchmarks
==== Import Projects
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.
image::images/import-projects.png[]
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
+org.eclipse.ui.ide.projectConfigurator+, so that other IDE components can contribute
detection and configuration specific to the technology they're supporting.
==== Search in binary files
The +Search > File...+ dialog has a new option to search in binary files as well.
image::images/search-binary-files.png[]
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+).
==== 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, ...).
image::images/autosave-preference-page.png[]
=== Look and Feel
==== Resolution-based image auto-scaling
Images now automatically scale 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, available images are automatically scaled proportionately to the
resolution of the monitor.
image::images/swt-high-dpi.png[]
==== Preference setting to disable CSS based theming
You can disable the CSS-based styling of the Eclipse IDE via
+Preferences > General > Appearance > Enable theming+. This will prevent the Eclipse
Workbench from rendering custom colors, shades, and borders, and may result in better
performance.
image::images/enable-disable-theming.png[]
==== Full Screen
The Full Screen feature is now also available on Windows and Linux. You can toggle
the mode via shortcut (+pass:[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.
==== Hide the window toolbars
You can use the Toggle Visibility of all Toolbars command (via Quick Access:
+Ctrl+3+ or +Command+3+) to hide all currently visible toolbars of the currently
window. Selecting the command again, reveals these toolbars again. This allows
the developer 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.
The following is a screenshot of the IDE with a maximized Java editor
and several toolbars visible.
image::images/ide-with-toolbars.png[]
The next screenshot shows the same maximized editor but with hidden toolbars.
image::images/ide-full-screen.png[]
==== Word wrap in text editors
A Toggle Word Wrap button has been added to the workbench toolbar.
Shortcut: +Alt+Shift+Y+.
image::images/word-wrap.png[]
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 (+pass:[Ctrl++]+ or +pass:[Ctrl+=]+)
and Zoom Out (+pass:[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.
==== 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.
image::images/recent-workspace-launcher.png[]
You can remove existing entries via the context menu.
==== 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 provided out-of-the-box:
* _Search Marketplace_ (default) will use the Eclipse Marketplace Client to
search the http://marketplace.eclipse.org[Eclipse Marketplace] for plug-ins that
support the file type;
* _System Editor; if none: Text Editor_ will open the system editor
associated with the file, if available. If no system editor is associated with
the given file, fall back to the Eclipse Text Editor;
* _Text Editor_ will always open Eclipse's Text Editor on unassociated file types;
and
* _Ask via pop-up_ will open the same dialog as using +Open With > Other...+ on a
file and let you choose which editor to use (inside or outside the IDE).
NOTE: 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 +org.eclipse.ui.ide.unknownEditorStrategy+
that allows external contributions of additional strategies.
==== Quick Access improvements
Quick Access (+pass:[Ctrl+3]+) is a small text field in the toolbar. You can use it to
trigger any command in the Eclipse Workbench.
image::images/eclipse-quick-access-improved-search.png[]
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
"Views: " in the search-box.
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.
==== New Welcome Screen
The Welcome/Intro introduces a new _Solstice_ theme that provides a new modern
appearance and enhanced functionality.
image::images/eclipse-welcome-solstice.png[]
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.
image::images/eclipse-welcome-launchbar.png[]
=== Other Changes and Improvements
==== Eclipse generates and sends a UUID
Eclipse creates and uses an automatically generated UUID. The UUID is stored
in `${user.home}/.eclipse/eclipse.uuid`. The UUID is automatically added to the user
agent on requests made to `eclipse.org` servers, including requests made by p2 during
Install/Update operations.
If you do not want to include the UUID in those requests, you can edit the
`eclipse.uuid` file and set `eclipse.uuid=0`.
==== More
The look of the toolbar in the MacOS default theme was adjusted to align with
other MacOS applications.
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 'date' variable, supported in editor and code templates, now allows you to
specify which format to use when inserting the current date (or time).
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.
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.
When you export your preference settings via `File > Export... > Preferences`,
the preferences are now sorted alphabetically in the resulting file.
Eclipse has been updated to include improved support for the Wayland display manager.