Features of Ceylon IDE for Eclipse

Ceylon IDE for Eclipse is a full-featured development environment based on the Eclipse platform. It's of central importance to the Ceylon project, and we're continuously improving it.
With the Ceylon language and IDE, you'll be much more productive. Here's a quick list of just some of what you get.

Intelligent proposals

The compiler and IDE work together to find bugs in your code and propose solutions: the editor features quick fixes for errors, and oodles of contextual quick assists.

Some proposals offer an interactive linked mode.


The IDE features Rename, Inline, Extract Function, Extract Value, Extract Parameter, Change Parameter List, Collect Parameters, Move Out, Make Receiver, Enter Import Alias, Introduce Type Alias, Extract Interface, Invert Boolean, Move To Unit, and Move To New Unit refactorings. Even better, it fully integrates with Eclipse's tooling for moving and copying files, for renaming and copying packages, and for renaming Java program elements.

You can rename a declaration using the editor's inline "linked mode". References to the Ceylon declaration from Java code will also be renamed. Likewise, if you rename a Java declaration, references from Ceylon code will be renamed.

Alternatively, you can quickly switch to dialog mode to get additional options.

Extract refactorings let you select a containing expression, and then allow customization of the extracted function or value in linked mode.

Change Parameter List lets you change the signature of a method, including adding or inlining default arguments.

There are refactorings for creating, renaming, and removing aliases.

The refactoring wizards provide previews of changes before applying them.


We haven't forgotten everyone's favorite feature of an IDE: contextual autocompletion. Autocompletion will even find modules for you, in Herd, or elsewhere!

Autocompletion supports "linked mode" argument proposals.

There's even IntelliJ-style "chain completion".

Finding and searching

With Find References, Find Assignments, Find Refinements, Find Subtypes, and the Ceylon Search page, you shouldn't be short of ways to find stuff.

There's even the Quick Find References popup control.

On the other hand, the Open Ceylon Declaration dialog is the quickest way to get to a toplevel declaration from wherever you are.

To understand and maintain a large codebase, there's nothing more important than easy navigation between code, and easy access to its API documentation. Ceylon IDE for Eclipse provides hyperlink-style "go to" navigation to any referenced declaration, package, or module, including Java declarations.

Hover puts the documentation for any program element right at your pointer. Hover over a declaration and see its API documentation, dynamically compiled. Hover over a value or function keyword, and see the inferred type.

The popup outline and type hierarchy controls provide two extra useful ways to navigate your code.

Finally, there's the Outline view and an awesome Ceylon Type Hierarchy view.

Editor, code formatter, and structural compare

The editor features configurable syntax highlighting, occurrence marking, search result highlighting, and code folding. The editor integrates with Eclipse's merge viewer for team-based development.

The editor integrates Ceylon Formatter, a high-quality code formatter, alongside the lightweight Correct Indentation and Format Block commands.

Of course, the editor has so much more offer: paste-with-imports, autoindentation, autoclosing, Clean Imports, Reveal Inferred Types, the awesome Terminate Statement command, configurable keyboard accelerators, and much more!

Incremental compilation and interactive error reporting

Ceylon IDE for Eclipse typechecks your code as you type, immediately highlighting any errors, and incrementally compiles your changes when you save a file. A Ceylon project may be configured to build for the JVM, for JavaScript, or both. The IDE even supports cross-project builds and inter-compilation with native Java code.

The compiler may be configured within the IDE via the Ceylon Build project properties page, or new project wizard.

The Module Repositories page lets us specify the module repositories where Ceylon will look for dependencies. The settings are persisted in a configuration file also understood by the command line toolset.

Finally, the Build Paths page lets you set up dependencies between projects.

Project and repository explorers, and module dependency visualization

The Ceylon perspective offers the Ceylon Project Explorer and Ceylon Repository Explorer. The Repository Explorer lets you quickly view all the modules available in Ceylon Herd, or in whatever other module repositories you select, together with their documentation and version information.

The Module Dependencies view really helps understand and resolve problems with complex inter-module dependency graphs.


The IDE provides wizards for creating new Ceylon modules, packages, and source files.

And, naturally, a wizard for creating new projects.

There's even a wizard for exporting a project module to a module repository.

Run, test, and debug

You can run and debug your Ceylon projects on Ceylon's modular runtime for the JVM, or on Node.js, directly from the IDE.

Unlike other JVM languages, the debugger for Ceylon IDE for Eclipse shows the runtime type arguments of a generic function or instance of a generic type!

You can even run tests written with the Ceylon SDK's testing module.


Of course, with so much functionality on offer, we had to provide some switches and toggles to let you get it working just the way you prefer.

Get Ceylon IDE for Eclipse from the update site.