The Graphite active code completion system for Java + Eclipse.
Java JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



An active code completion system for Java. See the webpage for more information, a video, slides and a paper:


The .jar file in the /eclipse/plugins directory can be dropped into the dropins directory in your Eclipse installation. You'll see a Graphite entry in the Eclipse Preferences window if it worked.


To annotate your Java classes with the @GraphitePalette annotation, its definition must be available. This is available in the .jar file in /java.

Palette Development

Palettes are written using the standard browser-based HTML5 stack. The graphite.js file found in the js/ directory must be included to support integration into the editor using Graphite and debugging of Graphite API calls in the browser.

Example palettes are available in the palettes directory.

Plug-In Development

If you want to change the Graphite plug-in itself, the /eclipse directory can be imported as a project into Eclipse if you have the Plug-In Development tools installed (you can find it using Eclipse's built-in plug-in installer.)



If you use Graphite in an academic paper, we'd appreciate a citation:

Cyrus Omar, YoungSeok Yoon, Thomas D. LaToza, Brad A. Myers, Active Code Completion. ICSE'2012: 34nd International Conference on Software Engineering, Zurich, Switzerland, 2-9 June 2012. pp. 859-869.


The code is provided under the terms of the Eclipse Public License - v 1.0. The full license can be viewed at