Advertisment

The New Age Eclipse

author-image
PCQ Bureau
New Update

Eclipse traces its origins to a rather modest SDK that grew into a large
monolithic IDE that it is today. It is comprehensive and includes some of the
best features an IDE can offer a modern-day developer for a platform like Java.
Callisto is a positive improvement in the way Eclipse users would use their
development environment and this article will explore some of the major
differences in how you would work with it.

Advertisment

Callisto Discovery Site

The plug-ins and features, that make up Eclipse, after a time led to a state
where there was a huge repository to search within and figure out what exactly
needs to be installed or enabled. If you have ever browsed through the 'projects'
section in Eclipse's web site looking for the right plug-in or feature for
your need you will know exactly what we are talking about here. The Callisto
home page mentions that this is a simultaneous release of ten projects. This
reflects the separation of the code base of Eclipse and its plug ins into the
separate entities they are.

Direct
Hit!
Applies
to:
Developers
USP:
Learn the new features in this release of Eclipse
Links:
http://www.eclipse.org/callisto/
Google
keywords:
Eclipse, Callisto
On PCQ Professional CD: /developer/Callisto/eclipse-SDK-3.2-win32.zip

You can now choose your primary usage of Eclipse from amongst different needs
like: Java development, C/C++ development and plug-in development or even choose
a customize installation if the provided options still don't suit your need.
In case you choose the Java/Web applications option, the IDE is then installed
and configured for just that purpose, removing the need to hover around a lot of
plug-ins and spending on deciding what to install and what not to install. The
Callisto Discovery Suite provided in the Update Manager does the trick here. It
finds and prompts for only those extensions required for the choice you made
while installing Eclipse itself.

Advertisment

Platform changes

The first evident difference you will notice is the startup procedure that has
been integrated into the splash screen. But there are more noteworthy features
than this in the platform. For example, the Project Explorer now displays any
Java project as a hierarchy of source folders and packages in contrast to the
folder view that we had earlier. Similarly, while importing a project from
File>Import>Existing projects into a Workspace, you have an optional
feature of copying the project into workspace by checking the 'Copy projects
into workspace' option that is available now. The filtering support that was
earlier in classes, interfaces and other similar features is now integrated into
all the Import, Export and New wizards. A 'Close Unrelated Projects' option
added in the perspective menu in the Project Explorer is a pretty useful
addition that lets you move all the irrelevant projects out of view and lets you
focus only on the items you need to work on. History has been updated to allow
you to view history for specific elements within a class or project and not just
files as was the case earlier.

The Callisto discovery site
allows easier upgrade and installation of only those features and plug-ins
relevant to the platform

There is also a completely new concept of 'Working Set' introduced into
the platform. A working set basically defines a group of elements for displaying
in views or operations on the given set. It also reduces the complexity
somewhat, by making visible only those resources that are relevant for the given
'Working Set'. Improvements in problem resolution include the ability to add
those problems in the Problem View that have similar resolution. This can
certainly help a lot in reducing resolution effort and time for a developer.

Advertisment

For Java developers

Similarly for Java Development there are quite a few impressive features on
offer most noteworthy being the changes or improvements brought about in
Refactoring options. For example the platform introduces an 'Indirection
Refactoring' that redirects all the methods calling a particular method to a
new method. This is particular is very useful in case of bug-fixing. You can
also use it to add new behavior in your class quickly or in case the method that
was earlier being used is from an API or a library and hence cannot be changed.
The refactoring also brings in an 'Extract Superclass' command to the
platform. You can easily extract a super class out of the existing similar
classes in your application using this feature. There is a whole new 'Clean Up'
wizard added to the 'Source' menu.

This wizard can be invoked on multiple files, packages and the entire
project. The 'Code Style' tab in the wizard edits code styling, organizing
the blocks and even adding 'final' keyword where-ever possible to private
fields, parameters to methods and local variables. There is also a 'Member
Access' tab that provides options for adding 'this' access qualifier for
both field and method access, and has a detailed set of options for static
access as well that include qualifying access for fields and methods, changing
all accesses through subtypes and instances. These features can help in fixing
multiple problems. The 'Unnecessary Code' tab allows you clean up code that
is not used such as unused imports and private members. You can even change your
code from Java 1.4 to Java 5.0 version by using the options in the 'Missing
Code' tab that allow you to add annotations to your code.

Lets look at one of these features in action. We took a simple class
hierarchy where we have a class Matrix that is extended by classes 'IdentityMatrix'
and 'SquareMatrix'.

Advertisment

The constructors for the IdentiyMatrix class are as follows

public void IdentityMatrix(int dim){

rows = columns = dim;

}

public void IdentityMatrix(int rows,int
columns){

this.rows = rows;

this.columns = columns;

}

Advertisment

Now lets look how the Code Style utility works. Select the IdentityMatrix
class in the Editor Pane and go to Source>Clean Up. In the Clean Up dialog
box select the Code Styling tab and then choose the option 'Use Modifier final
where possible' and then select all the three option under this section and
click on Next. The next page shows you the changes that will be made, click
Finish to complete the operation. The Code sTyle option changes the
IdentityMatrix constructors to

public void IdentityMatrix(final int dim){

rows = columns = dim;

}

public void IdentityMatrix(final int rows,final
int columns){

this.rows = rows;

this.columns = columns;

}

Advertisment

This is a trivial example just to show the usage, but in real life these
source code formatting can actually help you ensure a better implementation of
your classes providing a those ideal practices for parameter passing through a
wizard rather than having you keep track of things and editing them manually.
Similarly the other features in the Clean Up wizard help solving common problems
quickly.

In conclusion

The IDE has grown large enough now split into platforms and it is the right
decision allowing developers to manage their extensions and plug-ins more
easily. Features like the Callisto discovery suite bring about much needed
assistance in case you are not sure what all is needed on your IDE for a
particular purpose. So you can be rest assured that upgrading to Callisto will
bring you a more easily manageable platform and in-case its your early days with
Eclipse, well this is a good point to start with.

Advertisment

Stay connected with us through our social media channels for the latest updates and news!

Follow us: