Monday, June 30, 2008

Eclipse 3.4 - First Impressions (Or – So you want to Ganymede?)

I’ll start by saying that after working with eclipse on Java for few years now, Ganymede seems to be a goody bag full of little sweet surprise with some old pests in the mix.

Let’s start with one of the remaining negatives, which always discourage developers from moving to a new Eclipse. The issue I always run to when upgrading to a new train (or major version) of eclipse is trying maintain the previous set of plug-ins in tact. Well, this release is no different. If you want to maintain the set of plug-ins you had, make sure you have a manual list of them and re-install them in Ganymede.

On the flip side, the update manager is a breeze comparing to previous versions. There has always been the hassle of installing prerequisites before installing the plug-in you wanted. Not anymore. Now the interdependency seems to be managed for you automatically.

A section where there seemed to be some nice improvements is the search dialog. As a person that tends to do some reverse engineering searching for strings and methods it always annoyed my that the tab I had selected to search at (e.g.: File search ) has reverted back to the default tab (e.g.: Java search). The selection seems to be sticky now

There is also the new Remote search, which allows you to search in remote previously defined file systems. This comes in very handy (especially for the people that don’t like to mess around with UNIX shell and GREP commands).

In the Java search you can have a more focused search of where to look for members in an option called “Matched locations”.

The most useful search feature, however, is the way the results are displayed.

Not only you are displayed with the number of occurrences a string occurs in a file, but for each of the occurrences found in a file you are displayed the line content along with the line number the occurrence has been found in.

In this entry I’ve focused on features and issues I found in the first few days of work with Ganymede. There has been some nice additions done to variable inspection when debugging (Such as displaying the content of a collection when you hover over it), but this is more for next time.