Over a million developers have joined DZone.
Platinum Partner

Eclipse Local History & Quick Diff

· Java Zone

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.

I worked long hours on my project, and it was working well. But after a series of edits, somehow the application was not working the way it should. What did I change to break my code? Usually I smile, because I have things in a version control system. But: not this time (I should know better!). Luckily there are some ways to find out what has been changed: with the Local History and Quick Diff.

Local History

Even if not using a version control system, Eclipse has a local history built-in. To compare and diff with the history, I use the menu

Compare with Local History

Compare with Local History

This opens the History View which offers compare and merge (see Compare and Merge in Eclipse):

History View

History View

The number of entries (and size) of the local history is configured in the following workspace setting (menu Window > Preferences > General > Workspace > Local History):

Local History Preferences

Local History Preferences

Note: keeping a long history might slow down Eclipse, especially at workspace closure time (see CodeWarrior Tool Tip #3). So better not to keep too much of history.

Quick Diff

The Local History is nice, but there is even a faster way: Quick Diff!

Quick Diff can be enabled (if not already done) in the workspace settings (menu Window > Preferences > General > Editors > Text Editors > Quick Diff):

Quick Diff Preferences

Quick Diff Preferences

In the settings I can change the colors, and as well what to use as reference ((Version on Disk, Latest CVS Version  or Pristine SVN Copy).

Note: There seems to be a problem (oversight?) in Eclipse (at least 3.6) with using ‘Version on Disk’: With saving a file the Quick Diff markers are gone too :-( . But it works as expected with the SVN settings. Another good reason to use SVN :-) .

There is a general option to enable Quick Diff, and I have enabled as well the ‘Show differences in overview ruler’.

What it does: it shows the differences in the left editor area (where usually the line numbers are):

Quick Diff Color Marker

Quick Diff Color Marker

The colors are as configured in the Quick Diff preferences shown earlier.

If I move the mouse over the marker, a pop-up window shows up:

Quick Diff Mouse Over

Quick Diff Mouse Over

The first character in the pop up indicates what has changed:

  • >: changed line
  • +: inserted line
  • -: deleted line

Note the ‘Press ‘F2′ for focus’: That way I copy and restore my earlier version. Quick is simple and fast  and gives me an immediate access to the earlier version.

Happy Quick Diffing :-)

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.


Published at DZone with permission of Erich Styger , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}