Overview
This page is intended to make it easier for those who want to do development on the Eclipse Plugin. It's purpose is define what features should be available in the plugin, what source code modules are implement those features. It would also be good to include links to outside reference material that is directly relevant to the development of this type of plugin.
Tracing
The Groovy plugin uses the built in tracing support to output debugging messages. While doing Eclipse plugin development, you can enable tracing in Eclipse by selecting Run->Debug->Tracing and selecting which plugins you want to see messages for. Use the static method GroovyPlugin.trace("some message") to output debug messages instead of System.out.println (or log4j).
Text Editor Syntax Color Highlighting
Features / Proposed Changes:
- Highlight GJDK keywords (could be done in org.codehaus.groovy.eclipse.editor.GroovyTagScanner)
- Highlight methods (requires accessing Document Model / Groovy AST)
- Highlight expressions inside of GStrings (requires accessing document model)
- Enable/Disable these features with a Groovy preferences page
Syntax color highlighting is accomplished in org.codehaus.groovy.eclipse.editor.GroovyPartitionScanner.java and org.codehaus.groovy.eclipse.editor.GroovyTagScanner.java .
Look at the Groovy outliner org.codehaus.groovy.eclipse.editor.contentoutline.GroovyContentOutline.java to understand how the Eclipse DOM works and how to access the Abstract Syntax Tree for a Groovy compilation unit.
Debugger
Eclipse.org Article on writing your own debugger
Features / Proposed Changes:
- Update the breakpoint code to create Java breakpoints to support using the Java debugger (org.codehaus.groovy.eclipse.actions.ToogleGroovyBreakpointAction)
- Enable the variable window to display user friendly values for Groovy reference objects to avoid drilling down to see the actual value
Builder / Nature
Features / Proposed Changes:
- Add preferences page option to enable/disable saving all compiled class files to project build directory after the source files are saved






