The refactoring capability of Eclipse's Java development environment is one of the most useful features it provides. This article will introduce you to the steps for creating your own refactoring as a natural extension of Eclipse. Portions of the solution presented in this article were excerpted from the recently published book, The Java Developer's Guide to Eclipse.

From the author of

From the author of

What is possible, where to start, and how to proceed

Level: Advanced

Dan Kehn, Senior Programmer, IBM July 22, 2003

The refactoring capability of Eclipse's Java development environment is
one of the most useful features it provides. This article will introduce you to
the steps for creating your own refactoring as a natural extension of Eclipse.
Portions of the solution presented in this article were excerpted from the
recently published book, The Java Developer's Guide to Eclipse.

Eclipse has received much fanfare and accolades because of its powerful Java
development environment. That -- coupled with the team environment and other
base capabilities -- makes Eclipse a compelling integrated development
environment, which is great news for Java developers. Moreover, Eclipse is an
open source project. But what makes Eclipse truly exciting is the possibilities
of extension that it offers you.

A number of commercially available products, based on Eclipse, show the
practical implications of this way of delivering integrated products. IBM
WebSphere Application Developer and Rational XDE, for example, demonstrate the
impact that Eclipse has already had. These products and others based on Eclipse
diminish the user's learning curve because of their similar user interface.
Sure, this is valuable to large software houses, but what's in it for the
"little guy"?

That's where the extensibility story of Eclipse gets interesting. Not
just integration for those who have large development organizations, but also
for anyone willing to invest some time in learning a few Eclipse frameworks.
"Oh no," you may be thinking, "not more frameworks; I don't
have the time to learn more frameworks." Don't worry; it will be quick
and fairly easy. And before that little voice in your head has time to say it,
no, this article will not be a trivial "hello world" extension of
Eclipse. Rest assured, you'll see practical value and a clear demonstration
of how you can enhance your productive use of Eclipse's Java development
environment. You may even be a little surprised to see that it takes only a few
dozen lines of code to do some fairly amazing things.

This article will show you what is possible and where to start, and give you
a firm appreciation for what's involved in getting there. Though extending
Eclipse is an advanced topic, you can start with only passing knowledge of how
to use Eclipse's Java development environment (and be sure to check out
the suggested reading in Resources
for further study).