What's New in 3.4

Here are descriptions of some of the more interesting or significant changes made to the Eclipse Platform for the 3.4 release of Eclipse. They are grouped into:

Plug-in developers will also be interested in the corresponding What's new document in the plug-in developer's guide.

Platform Changes

New update UI

The UI for performing installation and updates is completely new in 3.4. The new UI is accessed using Help > Software Updates.

Software Updates and Add-ons Dialog

Unlike previous versions, you no longer have to find and select all prerequisites of the software you are trying to install. You can just select the single piece of software you want to install, and all prerequisites will be computed and installed automatically. The Installed Software tab only shows you the exact software items that you chose to install, rather than listing everything that is installed on your system. When you update software, all prerequisites of the software being updated will also be updated as needed.

The new update dialog allows you to add update sites using drag and drop gestures in addition to using the dialogs. To make an update site available in Eclipse, you can drag and drop a site URL link from supported browsers (such as Firefox) into the Help > Software Updates > Available Software page.

Dragging a browser link to the Available Software Tab

Viewing available software

You can now view the software that's available for install or update in multiple ways. The Available Software tab in the Help > Software Updates dialog provides a view menu button that lets you view the software by site, category, or name.

Available Software view menu in the Software Updates and Add-ons Dialog

You can also use the filter box in the dialog to filter the available software by name.

Filtering the Available Software page

Checkboxes at the bottom allow you to further control what is shown in the view.

Checkbox controls in the Available Software page

Markers view

A new Markers view has been added for users who prefer to have their problems, bookmarks and tasks in the same view (i.e., as it was back in the days before Eclipse 3.0).

It can be found by selecting Window > Show View > Other > Markers.

Markers view

New look for Problems, Bookmarks and Tasks views

The Problems, Bookmarks and Tasks views now have a new look, implementing many long-standing feature requests.

New Problems view

Highlights include:

  • Predefined filters for all errors and warnings on selection.
  • Union or intersection of problems showing.
  • A forms based configuration dialog.
  • Use of the commands defined in the workbench rather than custom actions. This means consistency with key bindings and the main window menu.
  • Working sets as first class selection sources. For instance, if the Package Explorer view is showing working sets and the Problems view is filtering on selection, you will only see the problems in that working set.
  • Show multiple content sets. The Problems view allows you to see all markers, or just the problems.

Form-based configuration dialog

System proxy settings

The Opens the Network Connections preference page General > Network Connections preference page allows you to specify the proxy settings to be used when connecting to the network. The new System proxy configuration option lets you reuse OS proxy settings in Eclipse. Eclipse supports:
  • Proxy manual settings and automatic configuration on Windows
  • Proxy environment variables and Gnome settings on Linux

System Proxy

Eclipse for 64-bit Windows

Windows x86_64/AMD64 and IA64 have joined the lineup of Eclipse platforms and SWT downloads. To use them you must be running on a 64-bit edition of Windows with a 64-bit JRE. (Note that the 32-bit versions of SWT and Eclipse can still be used on these configurations with a 32-bit JRE).

Eclipse on Windows 64

Eclipse on HP-UX IA64

Eclipse will now run (in 32-bit mode) on HP-UX Itanium machines.

HPUX

Resource refactorings

The move, delete and rename resource actions now support refactoring in the same manner as the Java refactoring actions do.

These new actions are available in the Project Explorer. Here is an example of the resulting dialog when moving a resource in the Project Explorer:

move dialog

Accessibility for Mac OS X

Eclipse is now accessible on Mac OS X Carbon. The Mac screen reader, VoiceOver, can be turned on and off with Command+F5. The snapshot below shows the VoiceOver cursor highlighting a tool item in Eclipse.

VoiceOver showing focus on Eclipse tool item

New dropins folder

There is a new "dropins" folder at the root of the Eclipse platform install that can be used to "drop in" additional plug-ins separate from the base application. This folder supports various layouts of plug-ins, features, and link files. On each startup, this directory is scanned, and any newly added content is automatically installed, and removed contents are uninstalled from the running application.

Eclipse installer

The Eclipse SDK now has a simple installer that can be used to install the SDK from eclipse.org or its mirrors. This leverages the transport capabilities of p2 to provide a faster, authenticated download. The installer also supports shared install so that multiple Eclipse applications on your system share the same data. The installer is available from the Equinox Download Page.

The Eclipse SDK Installer

Checking software trust

When you install or upgrade using Help > Software Updates, the install process will now examine the signatures of the code being installed, and verify that you trust the provider of the software. This verification only occurs once in the install process, after all the new software has been downloaded. The dialog allows you to view the certificate trust chain, and examine the details of each certificate.

Viewing certificates of installed software

Content type-specific file icons

In the past, icons for files were chosen based on the file's name and extension only. Workbench views now show more specific file icons based on the file's content type. The IDE will initially show a generic icon like it always has:

package explorer with generic icons

After determining content types in the background, icons will be replaced with more specific ones if available:

package explorer with more specific icons

This behavior can be turned off from the Opens the Label Decorations preference page General > Appearance > Label Decorations preference page.

Remote Help content enhancements

Eclipse 3.4 now allows multiple remote infocenters to contribute content to the Help system. This can be specified using the Preferences > Help > Content preference page.

Help Preferences

Resize Table and Tree columns using the keyboard

The column widths of certain Tables and Trees can now be changed in a keyboard-accessible way. This shows up in the list of plug-ins or features available from the About dialog, and as a new view menu item in all views displaying markers (Problems, Tasks, Bookmarks, and Markers).

Dialog for configuring column widths

Print button in Help view

The Help view now has a print button.

print button in Help view

New projects can now be added to working set

New projects can now be added to working sets during their creation. Currently all major wizards make use of this feature and there is API available for plug-in developers to do so as well.

new project wizard

Close tabs with middle click

You can now close view and editor tabs by clicking anywhere on the tab using the middle mouse button.

Middle click close

If your mouse doesn't have a middle button, try clicking on the mouse wheel if it has one of those.

Search Changes

Line matches in result view

The file search result now shows line matches. When in the tree layout, line matches are shown below files:

Line matches in the text search result view

Improved text search replace dialog

Replacing text matches (Replace All or Replace Selected in the context menu of the text search result view) now uses the same dialog as refactorings do - including preview and undo:

Replace text match dialog

Editor Changes

These changes apply to all textual editors in the SDK.

Direct interaction with text hovers

Are you tired of pressing F2 to see the full contents of a hover and to scroll down?

Now, you can just move your mouse into hovers that support this functionality and start scrolling.

The Javadoc hovers in the Java editor now support links to other elements and have a toolbar at the bottom for navigating, moving to the Javadoc view and opening the corresponding declaration:

Picture showing the Javadoc hover with mouse cursor on link

The behavior of hovers when the mouse is moved can be configured on the Opens the Text Editors preference page General > Editors > Text Editors preference page:

Picture showing the text editor preferences

Improved regular expressions in Find/Replace dialog

The regular expressions support in the Find/Replace dialog (Ctrl+F) has been extended.

In the Find field, the new pattern \R matches any line delimiter (Windows \r\n, Unix \n, and Mac \r). Note that \R cannot be used in character groups ([]), since the Windows delimiter \r\n consists of two characters.

In the Replace With field, several new constructs have been added, for example:

  • \R inserts the document line delimiter (same as Enter key)
  • \r and \n insert carriage return and newline characters, respectively. Note that mixing line delimiters inside a document is not recommended and may lead to problems with external editors. \R is usually a better choice.
  • \t inserts a tab
  • \xhh and \uhhhh insert the specified characters

Content assist and Help tell all the gory details.

Find/Replace dialog with content assist showing \R

Retain case of match when replacing

There's a new regular expression that allows the case of each match to be retained when using Find/Replace:

Picture showing the Find/Replace dialog with the retain case regular expression

For example, replacing "test" with "\CFoo" in "Test test= TEST" results in "Foo foo= FOO". The same patterns can be used when replacing from the Search view:

Replace dialog using \C to retain the case

Various printing improvements

The printing support for editors has been improved:
  • line numbers are now printed if enabled in the editor
  • background color is no longer printed
  • annotations (e.g. error squiggles) are now printed
  • each page shows the file name in the header
  • each page shows the current page number in the footer
  • the print job gets a meaningful name

Line support in overview ruler

Until now, the overview ruler was only helpful when it showed annotations. Henceforth, you can click on the ruler to go to the corresponding line and you can hover anywhere on the ruler to see the line number at that ruler location:

Picture showing line number support in the overview ruler

Configure annotation preferences via overview ruler

The overview ruler now has its own context menu that allows you to open the preferences. If the context menu is opened on an annotation, then it takes you directly to its annotation type on the 'Annotations' preference page:

Picture showing the configuration of the overview ruler

Select text via Shift+Click into line number ruler

Text in the editor can now also be selected by shift-clicking in the line number ruler.

New annotation text styles

You can now choose from all available styles for drawing an annotation inside the editor:

Picture showing the configuration of annotation text styles

Team/CVS Changes

Share multiple projects simultaneously

The Team > Share Project action now supports multi-select so multiple projects can be shared in a single operation.

Correct spelling in CVS Commit wizard

The comment area of the CVS Commit Wizard now presents you with suggested corrections for misspelled words. The options are available using quick assist (Ctrl+1) and are also shown in the context menu.

File changes can be viewed in CVS Commit wizard

File changes can now be viewed in the CVS Commit Wizard. You can view the changes for a file by double-clicking on the file in the Changes pane.

Ignore resources by path

The Team > Ignored Resources preference page now allows you to specify ignore path patterns as well as file name patterns.

Apply Patch improvements

Improvements have been made to the Apply Patch Wizard. The handling of unmatched patch segments has been modified to be more consistent with how the standard patch application works. Segments (or hunks) that do not match at the location indicated in the patch will be automatically tested at previous and later locations in the file to see if an exact match for the patch appears elsewhere. Also, the fuzz factor (i.e. the number of context lines to ignore when searching for a match) can be automatically calculated and applied, if an exact match cannot be found. The user will still have the ability to adjust the fuzz factor.

Fuzz factor and Guess button

Import Team Project Set improvements

Improvements have been made to how the import of CVS projects using a Team Project Set is handled. In the past, a repository location was automatically created with the given connection method and without a user name when CVS projects were imported from a project set. Now, the import process allows the user to fully configure the repository location, enabling them to specify a user name and change the connection method if require. So, for instance, a project set file containing extssh connections could now be used by a non-comitter since they could reconfigure the repository location connection method on import to be pserver.

Repositories configuration dialog

Improved Apply Patch wizard

The CVS Apply Patch wizard now lets you see and inspect the hunks that matched. Previously, only conflicting hunks were visible.

The Apply Patch wizard showing matched hunks

Improved Share Project dialog

There's a new option in the CVS Share Project dialog that lets you choose to use the project name as the module name and place it under the selected module.

Sharing wizard

Line counter in Apply Patch wizard

The Apply Patch wizard counts lines added and removed in the patch.

Line Counter Wizard

The default mechanism simply sums all lines starting with '+' and '-'. To define custom patterns which can be used to exclude empty lines or comments, go to the Opens the Compare/Patch preference page General > Compare/Patch preference page.

Line Counter Preference

Debug Changes

Import/Export launch configurations

You can now import and export launch configurations in the local file system. Select Launch Configurations from the Run/Debug category of the Export wizard. The following page allows you to select configurations to export to a location in the local file system.

Wizard page used to select launch configurations to export

Similarly, you can import launch configurations from a directory in the local file system.

Default console and file encoding

The console encoding used when running or debugging a program automatically matches the encoding of the program being run or debugged. For example, your Java program's (or Java project's) encoding will be used by the console and a corresponding VM argument will be added to the command line (for example, "-Dfile.encoding=UTF-8"). This makes it simpler to run and debug code displaying console output.

Drag and drop watch expressions

You can now drag text into the Expressions view to create expressions and you can reorder entries in the Expressions view with drag and drop.

Remove launch history entries

You can now remove items from the launch history menus. Use Control+Shift+Click to remove an item from a launch history (that is, select the menu item while pressing Control+Shift). The launch will be removed from your history but the configuration is not deleted.

Confirmation dialog to remove an entry from the launch hsitory