Note: This website is archived. For up-to-date information about D projects and development, please visit

Welcome to Descent

This project is dead. Please use

Descent is an Eclipse plugin that provides an IDE for writing, launching and debugging code in the D programming language from Digital Mars.

Related Effort


Descent tries to mimic JDT, so it's documentation may be useful, although not all of it:

Also check out The Forum.



  • Syntax highlighting.
  • Awesome, flexible formatter.
  • Folding.
  • Automatic closing of strings, brackets, chars and comments.
  • Code templates.
  • Syntax errors and some semantic errors are shown with a reg squiggle.
  • Autocompletion which writes the imports for you.
  • Source on hover (shift+hover).
  • Go to definition (ctrl+hover).
  • Some compile-time function evaluation (ctrl+shift+hover).
  • Greying of inactive code.
  • Project Explorer.
  • Outline view.
  • Type Hierarchy view.
  • Automatic generation of documentation comments (Params, Author, etc.).
  • Spell checking.
  • TODO tasks.
  • Ddoc view.
  • Declaration (source) view.
  • Highlighting of all occurrences of the current token under the cursor.
  • trace.log viewer
  • Compile-time debugging
  • Runs and debugs programs within the IDE.

Here's a list of useful shortcuts, hovers and autocompletions

Supported versions

D 1.x is fully supported.

D 2.x is partially supported: semantic analysis is far from perfect but features like autocompletion and go to definition should (but might not) work.

Future Directions

Now we are focusing in:

  • Updating to the latest versions of DMD.
  • Integrated builder?

Help us

As always with such an ambitious project, we need help! We're looking for testers, documentation writers, translators, and most of all developers. If you're interested in helping out, check this.

Contact Us

Here's where to reach those responsible for Descent:

  • The Forum
  • Via #d.descent at (you can use to paste code snippets)
  • Create tickets for suggestions, improvements, and things that don't work correctly