The following list of plug-inssome commercial, some open source, some expensive, some very inexpensive or freerepresents our short list of plug-ins that you should seriously take a look at. All of these are very high-quality and very well-respected in the Eclipse community.
A.1.1. CodePro AnalytiX and CodePro PlusPak
CodePro AnalytiX and CodePro PlusPak (available for $899 and $299, respectively, with a noncommercial combined version available for $99) adds more than 500 enhancements to Eclipse in the areas of best practices, analytics, testing, usability, and collaboration.
Key features include code audit, metrics, Javadoc repair, JUnit test generation, code coverage, design patterns, dependency analyzer, Ant integration enhancements, task scheduler, and team collaboration tools.
Code audit catches more than 750 audit violations with full support for Ant scripts and headless operation. Dynamic code audit mode catches errors as they occur, while built-in "quick fix" integration automatically fixes most violations. Easily add your own audit rules via an Eclipse extension point and exchange audit rule sets with other developers. Generate detailed audit reports in multiple formats.
Code metrics have drilldown capability and trigger points.
The project/package dependency analyzer graphically examines cycles and closures. It generates detailed dependency reports and metrics.
Support for design patterns (including all 23 of the "Gang of Four").
Javadoc repair tool.
Spellchecker for comments, identifiers, literals, properties, and XML files.
Automatic JUnit Test Case generation.
Code Coverage analysis.
Color-enhanced Java views.
Java History view, Modified Types and Members views.
VisualAge Java-style views and perspective.
Ant script wizard and enhanced Ant tasks.
Powerful task scheduler for Eclipse scripting.
Many editor enhancements.
Memory Monitor view.
Preferences import/export/exchange tool.
Global workspace administration.
Eclipse-based (Koi) collaboration server.
This is a free Eclipse plug-in that provides Java profiling tools. It allows a Java developer to tune the performance of his or her Java programs all within the comfort of Eclipse.
Key features include:
Tomcat CPU profiling
Tomcat heap profiling
EclipseUML is a visual modeling tool, natively integrated with Eclipse and CVS. It is capable of managing hundreds of simultaneous connections and is therefore suitable for large software development projects.
Key features of the free edition include:
Live bidirectional code and model synchronization.
Native Graphical Editor Framework (GEF) integration.
Native Eclipse Modeling Framework (EMF) integration.
An Enterprise version (available for $1,990) adds the following features:
Complete Java Version 2 Enterprise Edition (J2EE) lifecycle.
Complete database modeling lifecycle.
Open API and UML profiles are being merged and will offer a unique opportunity to fully customize your applications.
A.1.4. MyEclipse Enterprise Workbench
MyEclipse Enterprise Workbench (available for $29 for the standard edition or $49 for the professional edition via yearly subscription) is a completely integrated product extension for Eclipse and offers a full-featured J2EE IDE based on the Eclipse platform. MyEclipse supports the full development lifecycle (code, deploy, test, and debug) for JavaServer Pages (JSP), Enterprise JavaBeans (EJB), XML, JSF, AJAX, and Struts.
Its main features include:
Smart editors with code completion and syntax coloring for JSP, HTML, Struts, XML, Cascading Style Sheets (CSS), and J2EE deployment descriptors.
XML editing with smart code completion, DTD caching for offline support, and an outline navigation viewer.
Visual HTML Designer with round trip code generation.
Struts support via a configuration editor with code completion and a layout flow viewer.
Java Server Faces (JSF) Developer with graphical navigation flow designer, advanced XML editor, and multimode outline view.
Hibernate development tools with productivity tools, code generation, and DB Explorer connector integration.
Database explorer and SQL editor.
JSP syntax validation and native JSP debugging, plus full support for JSR045.
Step-through debugging for included JSP files.
Support for the JSP 2.0 expression language.
Customizable creation templates for JSPs HTML, XML, servlets, and applets.
Integrated browser for real-time rendering.
Spring IDE integration.
J2EE 1.4 support.
Ad-hoc image preview for GIF, JPG, BMP, PNG, and ICO images.
Creation of Web, EAR, and EJB projects.
Java project-to-Web project enablements.
WAR, JAR, and EAR import and export.
Sync-on-demand, or automated deployment of applications to integrated servers.
Archive-based deployment (EAR and WAR).
Integrated controls for starting and stopping servers.
More than 20 application server connectors, including Bejy Tiger, JBoss, Jetty, Jonas, JRun, Oracle, Orion, Resin, Tomcat, WebLogic, and WebSphere.
Full hot-swap debugging support for deployed applications.
A.1.5. WindowBuilder Pro
WindowBuilder Pro is a powerful and easy-to-use two-way Java GUI designer capable of building Swing, SWT and RCP interfaces.
Key features of the free version include:
Implements what you see is what you get (WYSIWYG) GUI editing with native SWT and Swing controls by dragging and dropping composites, layouts, and controls.
When implemented as a two-way tool, WindowBuilder directly generates Java code that can be changed in the graphical editor or directly in source. All changes made directly to the source code will be reflected in the graphical designer.
Uses only pure SWT and Swing classes, resulting in zero overhead at runtime. There are no special libraries added to projects.
Contains a handy property editor for easy and intuitive property editing. All changes will be immediately displayed in the code editor and in the graphical designer.
Displays a component tree, which makes navigation through components much easier.
Includes SWT applications and JFace dialog creation wizards.
Fully supports all SWT and Swing controls.
Fully supports SWT grid, fill, and row layout managers as well as Swing border, flow, grid, card, and box layout managers.
Seamlessly integrates with the Eclipse workbench. Just unpack it and restart Eclipse.
Allows on-the-fly testing of UIs without compiling by clicking one button.
Fully integrated into the Eclipse help system.
Fully configurable UI with dockable flyout palette and property editor.
The Pro version (available for $299) adds the following features:
Fully supports all JFace dialogs and viewers.
Fully supports RCP perspectives, advisors, views, and editors.
Includes JFace applications and JFace viewer creation wizards.
Fully supports the Eclipse Forms and Preference Page Field Editor APIs.
Has visual menu design support.
Includes SWT FormLayout, Swing GridBagLayout, Swing SpringLayout and JGoodies FormLayout support with intelligent layout assist and dynamic snap points.
Supports all Swing layout managers in SWT for easy Swing-to-SWT conversion.
Allows a user to select and edit multiple widgets simultaneously.
Supports visual inheritance of windows and panels.
Creates and embeds custom composites and groups.
Morph widgets from one type into another.
Defines custom widget templates.
Includes support for nonvisual beans.
Supports visual tab order editing.
Supports the SWT_AWT bridge allowing SWT and Swing to be mixed.
XMLBuddy is the ultimate XML editor for Eclipse supporting XML, DTD, XML schema, RELAX NG, RELAX NG compact syntax, and XSLT.
Key features of the free edition include:
User-configurable syntax coloring for XML and DTD.
Dynamic code assist for XML driven by DTD or current document contents.
Dynamically updated outline (tree) view.
Generates DTD from example XML document.
Validates XML documents with DTDs or XML schemas.
Automatically validates XML in background while user edits.
Formats XML documents, on command or while user edits (auto-flow).
The Pro version (available for $35) adds the following features:
User-configurable syntax coloring and code assist for XML schema, RELAX NG, RELAX NG compact syntax, and XSLT.
Dynamic code assist for XML driven by XML schema, RELAX NG, or RELAX NG compact syntax.
Specialized editors for XML schema, RELAX NG, RELAX NG compact syntax, and XSLT, providing code assist and validation based on built-in schemas.
Generates XML instance from DTD or XML schema, RELAX NG, or RELAX NG compact syntax schema.
Converts between DTD, XML schema, RELAX NG, or RELAX NG compact syntax in both directions.
Applies XSLT transformations.
Automatically validates DTD, XML schema, RELAX NG, and RELAX NG compact syntax in the background while user edits.
Opens definition in DTDs, XML schemas, or Relax NG schemas (XML or compact syntax).