How do I create an Eclipse plugin

Eclipse plugins

Eclipse is a great development environment if you compare it with the other (also free) alternatives. Not only is it free and open source, it also really has something to offer. In addition to the built-in features such as squiggles in the event of an error, there is a large collection of additional plugins that extend Eclipse. This page should give a selection of the better plugins.

Enterprise / Java EE

Eclipse IDE for Java EE Developers

A set of plugins for developing Java EE applications and editors for example for XML. The WTP manages web containers such as Tomcat, Java EE containers such as JBoss, enables the deployment of EJBs and offers wizards for new JSPs, web services (only Axis, not yet wscompile), EJBs. The deployment descriptors can be generated via XDoclet. A relatively new part is Dali EJB Object-Relational Mapping (picture). That simplifies the relationships under EJB 3. Could develop faster. Can also generate entity beans from database relations and is therefore in direct competition with the Hibernate tools.

Dali Java Persistence Tools with JPA Diagram Editor Project

The "Dali Java Persistence Tools Project" is a sub-project of the "Web Tools Platform Project" and offers JPA developers various aids. Dali (named after the artist) offers, among other things, a wizard for entities and a mapping tool that pulls tables from databases and generates classes. Hightlight is a GUI tool to set and edit entity relationships visually. This is perfect for development and documentation. A video documents the use. (Pic 1, pic 2)

MyEclipse

MyEclipse is a commercial tool that makes good use of other free plugins and tools and brings everything under one roof. The EJB support is poor, here you are just as well served with the free WTP. No support for Entity 2.0 beans, no wizard for entity bean relations, no test client generator. (It's good that you don't need that anymore since EJB 3 ...) It may well be that UML is great, and so is the support for JSF / Struts, but it doesn't make EJBs easier to develop. Somehow the price for the big IDEs like IBM WebSphere and Bea Workshop seems justified. I see the greatest benefit as an integrated tool that you don't have to look for plugins from different sources, and as an implementation of the Matisse Gui-Builer as Matisse4MyEclipse (which is very unreliable). (Pic 1, pic 2, pic 3)

JBoss Developer Studio

Red Hat's Eclipse extension for developing Java EE applications. The solution is primarily aimed at the JBoss Enterprise Application Platform. There are tools for everything you come across in the Java EE environment: EJB, business rules, JavaServer Faces (with facelets), Hibernate, CDI, Seam, JMX, etc. etc. The JBoss Developer Studio came out of the Exadel Studio Pros. The documentation gives more details. (Picture 1, picture 2, picture 3, picture 4)

Hibernate Tools for Eclipse and Ant

The plugin establishes a database connection and lists tables. The Hibernate Tools generate the annotated entity beans and DAOs from the selected tables. Also XML mapping and helps with the creation of the Hibernate config. for JPA, the tool also excludes DB and mapping information META-INF / pesistence.xml. Hibernate tools are part of the JBoss Tools and thus also part of the JBoss Developer Studio. (Picture 1, picture 2, picture 3, picture 4, picture 5, picture 6, documentation)

Web

Eclipse IDE for Java EE Developers

In addition to the more complex Java EE plugins, the WTP also offers an HTML and CSS editor and, as a plugin, can start / stop Tomcat and deploy web applications. The development is very simple and well documented on the WTP pages. You can work very well with the JSF tools from WTP. The tutorial Creating JavaServer Faces shows this for JSF, for example.

Run Jetty Run

Runs web applications with the Jetty server. An extra installation of Jetty is not necessary, as the plug-in uses the supplied Jetty. Jetty is very important to Eclipse and is now also an Eclipse project. (Video)

Sysdeo

The "Sysdeo Eclipse Tomcat Launcher plugin" manages a Tomcat instance and is used to start, stop and restart the Tomcat 4.x, 5.x, 6.x, 7.x server. Can server.xml update and generate a war file. Sysdeo can be used as a lightweight version instead of the WTP.

HTML Tidy Eclipse

The plugin integrates JTidy. JTidy is used to format (and correct) HTML or XML documents. A new context menu entry is offered for HTML files, which either checks or reformats the HTML file. The check adds warning icons to the edge, but there is nothing in the problem view. Also in the check there is only one badly formatted output in a window. The plugin has not been updated for a long time.

Databases

Eclipse Data Tools Platform (DTP) Project

The DTP project includes the SQL editor, query tools and a few other views. Pleasingly active project.

QuantumDB

Quantum is a vital plug-in for issuing SQL statements to databases. Any JDBC driver can be used to display tables and views. The update site is http://quantum.sourceforge.net/update-site. (Images)

DB Copy Eclipse Plugin

The plugin is primarily used to copy data from one database to another. The tables and columns can be selected graphically. The last update is over 10 years old. (Pic 1, pic 2)

Quality management / testing / code analysis

Mylyn

Mylyn is useful for larger projects that are easy to lose track of. It tries to create an overview for many projects and to make tasks of the developers easily visible. It also integrates Google Code Hosting, IssueZilla (java.net, dev2dev, tigris.org), GForge (objectweb.org), SourceForge, JIRA, Trac, ... under the Eclipse interface. Tasktop is an extension for Mylyn and provides additional connectors. (Picture 1, picture 2, picture 3, picture 4)

R4E

Essay on Mylin for code reviews. (Pic 1, pic 2, pic 3)

JVM monitor

The plugin visualizes profiling data such as CPU consumption but also outputs a list of threads and the time consumption in a table.

Memory Analyzer (MAT)

The Eclipse Memory Profiler examines heap dumps from various sources. The plug-in enables the analysis of very large object graphs and helps to uncover memory leaks.

UCDetector (Unnecessary Code Detector)

The Unnecessary Code Detector reveals public classes, methods and attributes that are not referenced by the rest of the program. The UCDetector uses different markings for dead code, methods whose visibility can be reduced and a mark for properties that can become final. A quick fix then quickly removes the source code. (Pic 1, pic 2, pic 3)

PMD / Eclipse PMD

PMD also examines Java code for weaknesses. It is not primarily an Eclipse plugin, but also an analysis tool for other IDEs and can run as an Ant task, but it integrates well as an Eclipse plugin. There are nice setting options via dialogues and PMD drops the TODO list with all identified problems. The plugin is installed via an update manager. The url is http://pmd.sourceforge.net/eclipse. The anti-pattern discoverer Finding duplicate code is particularly interesting.

FindBugs

A group from the University of Maryland has written FindBugs, a test software that automatically searches for errors. The Eclipse plugin integrates FindBugs in such a way that a new entry can be found in the project properties. The download is available as a plug-in under SourceForge. Unofficial successor is

EclEmma

Code coverage tool. The application will take place Run> Java Application simply with Run> Coverage started. The coverage is not associated with test cases, but works with completely normal classes. Colored markings then show which lines in the program are run through and which are not. A separate view also shows the values ​​as a percentage (picture, demo). Integrated as standard from Eclipse 4.7.

eclipse-cs Checkstyle plug-in

The Checkstyle plug-in for Eclipse integrates Checkstyle. The version is continuously updated and is preferable to the outdated Checkclipse. (Pic 1, pic 2, pic 3)

Eclipse Metrics 2

Calculates metrics and visualizes dependencies and cycles. (Pic 2, pic 2)

Classycle

Visualize class / package dependencies. Internally based on http://classycle.sourceforge.net/ and is comparable to http://www.clarkware.com/software/JDepend.html. Last update from 2009.

junitrunner

The Eclipse plugin starts JUnit tests via the context menu. A single test method is called by placing the cursor in the JUnit test method and then Run As> JUnitRunner Test is called. (Picture)

moreUnit

Decorates all methods that have a test case. In addition, the plug-in offers the option of jumping from the method to the test case that the method takes on. Renaming is also practical: if the method name changes, the name of the test method can also be renamed so that both are consistent again. The same goes for moving methods. (Pic 1, pic 2)

Log4E

- Statements can be automatically translated into log statements by the plugin. Log4e automatically inserts the required static variable logger. The plugin can be configured for log4j, Java 1.4 logging and common logging. (Images)

Continuous testing

The plugin always runs test cases in the background via JUnit. (Pic 1, pic 2)

Metrics

Calculates and visualizes code metrics such as lines of code, number of classes, ... (Figure 1, Figure 2)

Development tools / Build tools / UML tools

Subclipse

Repository access to Subversion. Another Eclipse plugin, a little less known but also good, is Subversive. (Pic 1, pic 2)

EGit

For the distributed version management system Git, the Eclipse project itself offers a standard plug-in Egit, but Eclipse does not go so far as to permanently integrate it. EGit is internally based on another open source Eclipse project JGit.

Ivy IDE

for package dependencies there is next to Maven (which resolves dependencies and is at the same time a build tool) the lightweight Ivy for Ant. The Ivy IDE is an Elcipse plugin that manages the libraries and pulls the jars into the project. (Pic 1, pic 2, pic 3)

ObjectAid UML

Uncomplicated plugin that creates class diagrams or sequence diagrams. You drag a class onto a drawing area and the diagram is ready. Further referenced classes can be integrated with context menus. Unfortunately, all diagrams are always yellow. (Pic 1, pic 2)

UModel

Altova UModel is a stand-alone tool, but it integrates seamlessly with Eclipse (and Visual Studio). It offers all 14 UML 2.2 diagram types, real-time synchronization and links between program code and diagrams. Round trip engineering belongs with the possibilities as well as support of version control systems. Altova is known for XMLSpy. (Picture)

MyEclipse

MyEclipse comes with a full-fledged UML tool.

papyrus

Development environment for EMF models, especially UML from the Eclipse Foundation. Also supports SysML and MARTE. Import of classes and automatic generation of diagrams is not possible. The overall impression is good, the project is alive.

UMLet

Even if the UMLet is in version numbers beyond 10, the tool, which comes as an independent application and then as an Eclipse plug-in, is more of a drawing tool than a full-fledged UML tool. For example, if you drag types in the UMLet window, you will quickly notice that nothing is arranged automatically and that the types are very much alone, as all associations or inheritance relationships are missing. Astah (formerly Jude) is also suitable for a quick UML diagram (for printing).

Eclipse Version Tree Plugin for CVS

Graphical representation of branches and versions. (Picture)

Editors for alternative programming languages, editor extensions

Eclipse C / C ++ Development Tooling (CDT)

Standard Eclipse extension for C and C ++. Is always at the top of the hit list next to the WTP for the "Popular projects" on the Eclipse site. In addition to controlling the GCC compiler (under Windows with Cygwin or MinGW) and the GCC debugger GDB, the CDT also offers support for make files and an indexer. On the basis of the CDT there is Cevelop, which implements further refactorings. (Pic 1, pic 2, pic 3)

PDT - PHP Development Tool

A plugin for PHP development on the basis of WTP that is available from Eclipse.org is PDT, also called PHP IDE. Zend relies on it, which is a nice overall package with a great editor, local and remote debugging. Zend earns money with the commercial Zend Studio, for which support is of course also available. (Picture)

Groovy Eclipse plugin

Standard plug-in for Groovy from Codehaus, the Groovy developer group. Offers syntactic highlighting, autocomplete, easy refactoring, outline, and the ability to compile and run Grovvy scripts with the push of a button. A screencast gives an insight.

Scala IDE for Eclipse

Plugin for the Scala programming language. If you do Scala development, you should also take a look at the Scala Plugins for NetBeans.

Spring IDE

Completes the class names from the Java project in the Spring XML configuration files, creates Spring Bean references graphically and offers a few nicer things. The Spring IDE now also supports AspectJ with Spring AOP and Spring-Web via individually activated modules. (As lame as the website is, the plugin must be insanely popular.)

JasperAssistant

The commercial plugin JasperAssistant is a report editor for the open source library JasperReports. The beautiful form designer generates the XML file for Jasper in the background. If you are only into reports, you should also take a look at the Eclipse project BIRT. BIRD is very powerful and offers not only typical exports to Excel and PDF, but also a dynamic web interface. (Images)

EditBox

The EditBox plug-in displays the blocks, i.e. classes / methods / constructors, of a Java program in different colors. The colors can be set and gradients are also possible. In addition to the Java program, the plug-in also visualizes the indentations of HTML documents. (Image 1, Image 2, Image 3, Image 4)

ANTLR IDE

Support in the development of ANTLR 3.x grammars. enables debugging with breakpoints and displays the grammar graphically. Automatically generates the Java classes from the .g3 file. Keyboard completion is supported, various outline views provide a good overview, for example via the grammar tree. (Picture 1, picture 2, picture 3, picture 4)

Editor enhancements plugin

Perform editor operations on blocks (columns). (Short visual tour.) Last update over 10 years ago.

AnyEdit tools

Replaces annoying tabs with spaces and removes unnecessary spaces at the end of each line. translates HTML entities into text and vice versa. opens files and types from non-Java files such as XML or JSP documents. (Picture)

Eclipse Property File Editor

A column is provided for each language in a view. In this way, the resource bundles with the language strings are easily accessible. Another plugin for this is JIntro.

Vex - A Visual Editor for XML

XML document editor. However, it does not use a structured representation, as is usual for an XML editor, but offers a Gui similar to a word processor, so that, for example, XHTML or DocBook files can be processed nicely. The last update was in mid-2005. (Picture)

Veloeclipse and Velocity Web Edit

Both are plugins for Velocity / HTML. They show the templates (VTL) in color and offer a tree structure. At the same time, keyboard completion is offered for the directives and references. (Pic 1, pic 2)

TeXclipse

TeXclipse is an Eclipse plug-in for LaTex with color highlighting, auto-completion, document structure, table generator, LaTeX symbols, shortcuts for changing font attributes, managing BibTeX references. As an alternative to TeXclipse, there is the other SF project ecleTeX, which has not been updated for a long time. TeXclipse can be installed from the update site http://texlipse.sourceforge.net. Letes update was a little longer ago. (Images)

ShellEd

ShellEd is a shell script editor for Unix scripts (i.e. ash, bsh, bash, csh, ksh, sh, zsh). With manual and completion. Interesting is the relatively unknown Target Management Project, where you can work remotely, for example via SSH or FTP on a server, and edit documents, for example. See the screenshot for the Remote System Explorer (RSE). (Picture)

Eclipse Hex Editor Plugin ehep

View and change data in HEX mode; in other words: a good old hex editor. Searches can be made for certain hex sequences and the plugin also supports Undo / Redo. Colors for cells and markings can be set using the preferences. An alternative is the javahexeditor Java Hex Editor. (Pic 1, pic 2)

Bytecode Outline plugin for Eclipse

The Bytecode Outline Plugin shows the program code that ASMifier generates for a selected method. ASMifier is a library for generating bytecode at runtime. The bytecode of two files can also be compared. (This feature is perhaps even more interesting than generating source code with the ASMifier.But you have to get used to the syntax for the bytecode.) (Fig. 1, Fig. 2)

EclipseWiki

Provides a local wiki for documentation. The wiki can be exported later including formatted Java.

JDocEditor

WYSIWYG editor for Javadoc. also supports spell checking. The written texts are implemented directly in Javadoc. (Picture)

Gui builder

WindowsBuilder

The Windows Builder is a Gui Builder from Google that originated in a commercial product from Instantiations. After taking over Instantiations, Google introduced the product to the "Google Java Developer Tools", to which now, in addition to the "Google, the product to the" Google Java Developer Tools ", to which now in addition to the" WindowBuilder Pro "also" WindowTester Pro " "and" CodePro AnalytiX "belong. The WindowsBuilder is also able to produce code for SWT and GWT.

NetBeans Matisse

MyEclipse has ported the Gui-Builder from NetBeans for Eclipse and offers it under Matisse4MyEclipse (picture).

e (fx) clipse

Oracle delivers tools for JavaFX only for NetBeans. e (fx) clipse is an Eclipse plug-in, in which the editor for FXML (XML format for the declarative description of surfaces) and CSS are of particular interest. The JavaFX Scene Builder can be integrated via a dialog.

Other tools

Google Plugin for Eclipse

The "Google Plugin for Eclipse" simplifies the development of applications for the Google App Engine and the Google Web Toolkit (GWT). The checks and corrections are nice, for example that the Asyn interfaces are kept in parallel with the GWT-RPC interfaces. In the last version support for the UiBinder was added. Keyboard completion also gives all the hints for CSS formatting.

JarRetriever

The many Java archives of the different libraries are slowly making you crazy. The plug-in controls on the other hand, in that it takes over the automatic download and integration into the project. (Picture 1, picture 2)

Eclipse Mobile Tools for Java (MTJ) formerly EclipseME

EclipseME is a Java ME plug-in for Eclipse, with which you can integrate and use the Nokia, Motorola, Sprint PCS, Siemens SMTK for Series 60 and SonyEricsson Java ME Toolkit in addition to the Sun Wireless Toolkit. The Eclipse compiler translates and tests with the Jar archives that keyboard completion is possible. Preverify is carried out automatically and starting is no problem. Debugging works in the new version. An editor for the Jad description files comes with, and MIDlet signing also works. Great plugin. A GUI builder is still missing, so that EclipseME cannot yet replace NetBeans Mobility here.

Numerical gecko

A plugin for converting between different number systems (e.g. binary / hexadecimal) and units based on NumericalChameleon. (Images)

Translator plugin

Use the online translation service Babelfish.

Java2Html

Converts Java source code classes or parts into HTML, RTF, TeX or xHTML. Unfortunately, it always creates only one target file and no linked files. If you select an entire tree, you get everything in one file. But another Java2HTML tool can do that. (Although this is not an Eclipse plug-in, it can be used via an Ant script.) (Image 1, Image 2)

Eclipse XPath evaluation plugin

With the XPath plugin you can interactively test and develop XPath expressions. The XPath expression is applied to an XML file in the window and the result is visualized as a list or individual element. An alternative software is the XPath Explorer (XPE) (picture).

QuickREx

For testing regular expressions. If you don't want an Eclipse plug-in but a Swing application, JRegexpTester is also a solution. You can work out POSIX expressions online using REXV; that uses AJAX technology for direct feedback. The Regular Expression Library has over 700 ready-made expressions for everything.

Quickmarks

You can set bookmarks in files and jump to them easily using a key combination.

JadClipse

Jad is a decompiler that generates source code from class files. The JadClipse plugin integrates Jad in Eclipse. To do this, pack jadclipse into the project directory as usual. In order for JadClipse to work, jad.exe must be installed in a directory that can be found via the execution path (e.g. C: \ windows \). Jad is not part of JadClipse and has to be obtained separately, but everything is on the wiki page. Jad has not been maintained for years, so JadClipse also suffers if the result is unsatisfactory. An alternative is JDEclipse.

Fat Jar Eclipse

Builds easy-to-run jar archives that contain everything. As of Eclipse 3.4, you can also use the export wizard to create a "Runnable Jar File".

SortIt

Hangs in the edit menu and helps sorted.

Eclipse Instant Messenger Plugin

Integrates MSN, Yahoo, Icq, Aim in Eclipse. (Picture)

Google Search Plugin

The popular search engine can be started from one view with the Google plug-in. If the search goes through a proxy, the plug-in cannot be used. A license key from Google is required.

Eclipse coding

Defines a few small refactorings, mainly around logging. Converts System.out output into logging output.

Eclipse downloads

The current Eclipse version is 4.9. This is followed by Eclipse 4.10, of which little is known so far.

Installation of the plugins

Many plugins can be installed in Eclipse via the Marketplace.

General Eclipse links

More Eclipse plugin pages


Other IDEs