Eclipse 3.0 - New and Noteworthy


Quick Diff: colored change indication in editor vertical ruler

A new color-coded change indicator in the editor's vertical ruler can be turned on for text editors using either the ruler context menu or CTRL+SHIFT+Q. The colors show additions, deletions, and changes to the editor buffer as compared to a reference, for example, the contents of the file on disk or its latest CVS revision.

Quick Diff

When the mouse cursor is placed over a change in the vertical ruler, a hover displays the original content:

Hover over the margin to see changes

The original content can be restored using the ruler's context menu. The context menu also allows to switch between references and enable/disable Quick Diff:

Revert changes using the margin's popup menu

Due to the high memory consumption of the diff algorithm, Quick Diff suspends itself when there are overly many changes between the current and the reference file. This avoids putting the system under memory pressure and is indicated by a single change spanning the whole file with an empty original text in the hover on the change ruler column. 

Quick Diff is reset to normal operation by disabling and re-enabling it (for example by pressing Ctrl+Shift+Q twice).

Quick Diff results in overview ruler

The differences between the displayed document and a reference document (for example, the saved file or latest revision from CVS) can be configured to show up in the right-hand overview ruler.

Quick Diff preferences

Quick Diff settings when opening new editors can be configured on the Workbench > Editors > Quick Diff preference page.

Regular expressions in Find/Replace dialog

The Find/Replace dialog for text editors now supports searching and replacing using regular expressions. Press F1 to get an overview of the regular expression syntax, and press Ctrl+Space to get Content Assist for inserting regular expression constructs.

When the cursor is placed in a dialog field, that is supported by Content Assist, a small light-bulb above the upper-left corner of the field indicates its availability.

Find/Replace dialog

Shared annotations preferences

There is a new preference page Workbench > Editors > Annotations for configuring annotations for all text-based editors.

Annotations preference page

Note: Due to this change, existing annotation preference settings for the editors converted to use the shared settings will revert to the default settings when an existing workspace is opened for the first time with Eclipse 3.0.

New annotation preferences

Besides using squiggly underlining, annotations can also be shown in the editor using background highlighting. Check Highlight in text on the preference page to enable background highlighting of annotations.

The visibility of annotations in the vertical ruler can be controlled by checking Show in vertical ruler on the annotations preference page.

Non-uniform file encodings

Multiple different encodings are now supported at the same time. Eclipse will automatically determine the correct encoding for many kinds of files. Failing that, you can explicitly set a specific encoding at the project, folder, or file level from the resource's Properties dialog.

New text editor functions

The displayed width of tabs and the text selection foreground and background colors are now customizable in the text editor. See the Workbench > Editors > Text Editor page:

New editor functions

All text editors based on the Eclipse editor framework support new editing functions, including moving lines up or down (Alt+Arrow Up and Alt+Arrow Down), copying lines (Ctrl+Alt+Arrow Up and Ctrl+Alt+Arrow Down), inserting new a line above or below the current line (Ctrl+Shift+Enter and Shift+Enter), and converting to lowercase or uppercase (Ctrl+Shift+Y and Ctrl+Shift+X).

Double clicking on the line number in the status line is the same as Navigate > Go to Line... (Ctrl+L).

Team & CVS

New synchronize view

The Synchronize View has changed significantly since 2.1. Here is a short list of the new features:

  • Multiple synchronizations can appear in the view. A dropdown action allows navigating between them.
  • The view dynamically updates when changes are made to the workspace. This means that you don't have to synchronize to browse outgoing changes.
  • There are new helpful decorations: problem markers are displayed, conflicts are propagated to parents, and when a background operation is working on an element in the view it appears in italics until the operation is complete.
  • You can configure a synchronize to periodically run in the background.
  • There are new layouts: hierarchical, compressed folders, commit sets.
Picture of the Synchronize View

CVS operations run in the background

CVS operations have been enabled to run in the background. This means that you can spend more time working and less time looking at the synchronize, update, compare, and checkout progress dialogs.

CVS checkout wizard

Both the New > Project and File > Import commands now let you checkout a project from a CVS repository. Besides being convenient, it is especially useful for checking out projects from CVS repositories that don't support browsing.

CVS commit sets

The CVS Synchronize view now lets you review changes grouped logically by commit comment, committer, and date. This presentation is selected by the Layout > Commit Sets found on the drop down menu of the CVS Synchronize View.

Picture of the Synchronize View in Commit Set Layout

CVS date tags

What was released in HEAD at midnight last Thursday? You can now use date tags to compare, checkout, merge, or simply browse a CVS repository. You can add date tags from either the CVS Repositories view or from any tag selection page.

CVS Date Tags

CVS history linking

The CVS History View now has a Link with Editor toggle button. When linked, the revision history of the file currently being edited is automatically fetched (in the background) and displayed. This works not only for regular file editors but also for compare and remote revision editors opened from CVS-specific views.

CVS SSH2 support

The extssh CVS connection method now supports connecting to CVS servers running SSH2. The Team > CVS > SSH2 Connection Method preference page also allows you to create and manage your SSH2 keys.

SSH2 preference page

Blame a co-worker for a change

Have you ever wanted to see who made a particular change in a file? When you run Team > Show Annotation the Annotate View will show you the list of authors for each line in the file and as you browse the file the Annotate View will update to highlight the user that modified the current line. The CVS History view will also automatically update so that you can see the commit comment for the particular lines.

CVS Annotate

Previous     Next

Copyright 2000, 2004 IBM Corporation and others.