Features of Ceylon IDE

Ceylon IDE 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.


The IDE features Rename, Extract Function, Extract Value, Inline, and Move To New Unit refactorings. Even better, it fully integrates with the 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".

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 even supports "linked mode" argument proposals.

Finding and searching

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

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 provides hyperlink-style "go to" navigation to any referenced declaration, package, or module, including Java declarations.

The Open Ceylon Declaration dialog is the quickest way to get to a toplevel declaration from wherever you are.

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.

Syntax highlighting, outlining, and structural compare

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

Of course, we're skipping over so much that the editor has to 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 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 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.


The IDE provides wizards for creating new Ceylon projects, modules, packages, and source files. There's even a wizard for exporting a project module to a module repository.

Project and repository explorers

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.

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.

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 from the update site.