对于新版本特性,官方提到:
Eclipse 3.3M6 新特性
http://download.eclipse.org/eclipse/downloads/drops/S-3.3M6-200703231616/eclipse-news-M6.html
Eclipse 3.3 M6 - New and Noteworthy
And like that, winter has passed and it's spring again. Here are some of the more noteworthy things available in milestone build M6 (March 23, 2007) which is now available for download. See the build notes for details about bugs fixed and other changes.
Platform
Eclipse on Vista (WPF)
Eclipse now runs on WPF (Windows Presentation Foundation). It is still early access, but it is stable enough for the SWT team to develop on it. You can try it yourself by getting it from the Eclipse downloads page.
Native features on Vista (win32)
SWT is now exploiting more of the native features of the Vista platform. For example, using native double-buffering on Vista win32 makes painting in double-buffered canvases twice as fast.
JavaXPCOM support
SWT.MOZILLA
-style Browsers can now be programmed to via JavaXPCOM. This requires that XULRunner 1.8.1.2 be installed, whose current release status is summarized here. This example snippet created the snapshot below.
OLEExample and OLE improvements
The new OLEExample showcases SWT OLE (win32) support. We now do a better job of hosting OLE documents in SWT. For example, OleClientSite in-place activation scrollbars work correctly. The OLEExample comes with the Example Plug-ins on the Eclipse Project Downloads page. To install and run the SWT Examples, see this page.
Reparenting support on Mac OSX
SWT on Mac OSX now supports widget reparenting.
Display.post() supports more mouse events
Display.post() now supports generating mouse button 4 and 5 and mouse wheel events. This example snippet automatically scrolls a StyledText.
Advanced graphics supports mirroring
Advanced graphics now renders correctly in RTL mode. The snapshot below shows bidirectional text drawn using transforms and patterns on a Canvas.
A new look
Previous milestones have included a presentation titled "3.3 Presentation (Experimental)". Its features are now part of the default presentation. This look has a few small visual changes to workbench tabs:
- Unselected tabs have their top corners rounded. This is to make them look closer visually to the selected tab style.
- Previously, if a view tab was too small to show the entire label string, the icon would be hidden in favor of just showing the label. However, view icons typically convey a lot of uniquely identifying information, more so than does the label. Now the icons are preserved in favor of losing label text.
- If a tab was too small to show the entire label string, ellipsis ("...") would be appended. However, this reduced the amount of readable characters. We instead have moved to simply truncating the string.
- The default color for the selected tab now has a top to bottom, light to dark gradient. It is based on your system title colors.
- The selected tab has been given a subtle highlight treatment to the top and edges. The highlight treatment is based on a blend of white and the start tab color. It blends to the bottom tab color.
The previous 3.0 presentation can be reinstated via the General > Appearance preference page.
Improved min/max workflow
When a view or editor stack is minimized, a placeholder tray now appears in the closest trim location along the left, bottom, or right edges of the workbench. Each view from the view stack acts as a fast view while in the trim. The stack can be restored via the tray's restore icon. Minimized trays can be drag and dropped to new locations along the workbench trim. Maximization of any stack triggers minimization of all others.
This new behavior supports a more fluid workflow between focused tasks (such as editing in a maximized editor) and the need for intermittent access to secondary information (such as selection in the outline view). In addition, it provides a more compact representation of minimized stacks, saving screen real estate.
Help breadcrumbs
Help will now display a series of links called breadcrumbs at the top of each document that appears in the table of contents. These allow for easier navigation and provide more information about the context of the document being viewed.
Categorized help search
You can now categorize help search hits by book in the help window via the new toolbar toggle button. Similarly, you can also toggle the search descriptions.
Link to anything from context-sensitive help
You can now add arbitrary command links in context-sensitive help, allowing applications to perform any operation. For example, you can link to a related cheat sheet:
Joining lines in text editors
You can now use the new command Ctrl+Alt+J in a text editor to join lines.
Convert tabs to spaces
Text editors now allow you to convert tabs to spaces when typing.
This feature can be enabled via General > Editors > Text Editors > Insert spaces for tabs preference.
Make hover sticky
F2 can now be used in text editors to make a hover sticky:
The hint can be disabled via the General > Editors > Text Editors > Show affordance in hover on how to make it sticky preference.
Triple-click in text editors
Triple-clicking in a text editor now selects the line. (Selecting multiple lines using triple-click + mouse move is coming in M7.)
Resizable Find/Replace dialog
The Find/Replace dialog can now be resized and remembers its size:
Platform level proxy and SSH2 settings
A new General > Network Connections preference page and corresponding API have been added to the Eclipse Platform for managing proxy settings.
In addition, the JSch SSH2 client used internally by the Eclipse CVS client has been pushed down to the Eclipse Platform so that it can be used by other clients as well. Use the new General > Network Connections > SSH2 preference page to configure it.
Equinox HTTP service
The Jetty-based implementation of the OSGi HTTP service has been added to the Platform SDK along with the bundles that provide JSP and extension registry support. Help is now using this service (instead of Apache Tomcat).
Orbit consumption
The Eclipse Platform SDK is now consuming multiple bundles hosted by the Eclipse Orbit project including Jetty, Lucene, Servlet APIs, Jasper, and Commons Logging.
JDT
Improved null check detection
The existing Null reference option has been split into three options:
-
Null reference
When this option is enabled, the compiler will issue an error or warning whenever a variable that is statically known to hold a null value is used to access a field or method, as shown in the example below:
-
Potential null reference
When this option is enabled, the compiler will issue an error or a warning whenever a variable is statically known to potentially hold a null value, as shown in the example below:
-
Redundant null check
When enabled, the compiler will issue an error or a warning whenever a variable that is statically known to hold a null or a non-null value is tested against null, as shown in the example below:
The severity of these options can be configured on the Java > Compiler > Errors/Warnings preference page: Tab folders Potential programming problems and Unnecessary code.
Content assist proposes unresolved names
When completing a name reference, content assist now proposes unresolved names found in other parts of the code. For example:
Select execution environment when creating Java project
When you create a Java project that you want to share with a team, it is a good idea to use an execution environment instead of a specific JRE.
Execution environments are symbolic representations of JREs with standardized entries like 'J2SE-1.4', 'J2SE-1.5'. That means no file system path will go into the shared build path.
JREs can be assigned to the environments on the Java > Installed JREs >Execution Environments preference page.
Decorations for transient and volatile fields
Transient and volatile fields now have corresponding icon decorations:
Workspace relative paths for Javadoc location
Workspace relative paths are now accepted as Javadoc locations for archives and class folders:
Folders in JARs
Files and folders in JARs are now correctly represented in the Package Explorer and can be opened in editors.
Export and import JUnit test runs
JUnit test runs can now be exported and imported.
Currently, Eclipse can read its own test run storage XML files, as well as XML files produced by the Ant JUnit task.
Open Type opens multiple types
The Open Type dialog (Ctrl+Shift+T) now supports opening multiple editors at once.
Background color for source hovers
The background color for all hovers that show source in the Java editor can now be configured on the Java > Editor preference page.
Launch selection vs. launch last
Running and debugging applications has been simplified to run or debug the selected file or active editor. Use the Run/Debug > Launching > Launch the selected resource or active editor preference to enable this behavior. When the selected resource (or active editor) is not executable, you can opt to launch the associated project by selecting "Always launch project if selected resource cannot be launched".
Pressing the Run or Debug toolbar button will launch the selected resource (as will the Run or Debug action in the top level Run menu). When no launch configuration exists for a file and there is only one way to launch it, the file will simply be launched in the mode you selected. When there is more than one way to launch a file you will be prompted to select how to run or debug the application. For example, when running a JUnit test you can run as a Java application or JUnit test. A launch configuration will be created and an entry will be added to the launch history for the application.
When the same resource is launched again, the most recent configuration in the launch history associated with that resource is re-launched.
Run/Debug settings
A new properties page has been added to manage launch configurations associated with a resource. For example, selecting the Run/Debug Settings property page for a project will display all launch configurations associated with that project. Configurations can be created, deleted, and edited from this page.
Hyperlink stepping
When debugging you can use hyperlinks to step into a method. Use the Ctrl+Alt keys to step into the method (rather than Ctrl which will navigate to the source code).
Step through filters vs. step return
You can configure step filters to always return from a filtered location or step through to a non-filtered location. For example, if java.util
is a filtered location, stepping into code in HashMap
could result in a call-back to your application code to check the equality of an object. If you choose to Step through filters a step into would end up in your application code. However, when the Step through filters option is disabled, a step into HashMap
would behave like a step over.
Use the Step though filters preferences setting on the Java > Debug > Step Filtering preference to toggle the feature.
Export logical structures
You can now export and import Java logical structure preferences separate from other workspace preferences. Java logical structures are defined on the Java > Debug > Logical Structures preference page. Logical structures are used to define alternate presentations for complex data structures and are displayed when examining objects in the Variables view. For example, displaying a java.util.Collection
as an array rather than revealing the internal data structure that implements the collection.
Force early return
You can force an early return from a method (only available when debugging on a Java SE 6 virtual machine). This returns a value from the current stack frame without executing any more instructions in the method and releases any locks obtained by synchronized blocks. A return value is created by selecting an expression and Force Return (Alt+Shift+F). This action is available from the Java editor's context menu, top level Run menu, in the Display view, and in the detail pane of the Variables view.
Forcing an early return from a non-void method allows an expression to be selected. For example, if a method was going to return false
you could return a value of true
by selecting an expression in the Display view and invoking Force Return.
Browse object references
You can browse all references to an object (only available when debugging on a Java SE 6 virtual machine). Object references can be displayed in the variables view by toggling the Show References setting in the view menu. References to an object are grouped in a collection named References.
References can also be displayed in a popup by selecting an object in the variables view and selecting All References from the context menu.
Browse all instances
You can browse all instances of a Java type (only available when debugging on a Java SE 6 virtual machine). Instances are displayed in a popup by selecting a type in the editor outline, a type name in the Java editor, or a variable in the Variables view and selecting All Instances from the context menu.
PDE
Plug-in refactoring
PDE now supports plug-in refactoring by providing the ability to rename a plug-in ID and update all references to it in downstream plug-ins.
The Rename function is available in the context menu of the Plug-ins view, the Plug-in Dependencies view and the MANIFEST.MF source page.
Plug-in refactoring may also take place as part of the regular project renaming action in the Package Explorer view (Refactor > Rename from the context menu) if the project name matches the plug-in ID.
Custom splash screen templates
PDE now provides three templates for creating custom splash screens, complete with code, images and XML markup:
- Interactive: A simulated log-in session
- Browser: An embedded HTML browser
- Extensible: A dynamic set of image contributions
This feature is available in the Templates section on the Splash page of the product configuration editor.
Splash screen templates are also available in the New Extension wizard when generating a new org.eclipse.ui.splashHandlers extension on the Extensions page in the plug-in manifest editor.
The above features are just the ones that are new since the previous milestone build. Summaries for earlier 3.3 milestone builds: