Coedit

From D Wiki
Revision as of 05:13, 10 September 2016 by BBaz (talk | contribs) (Features and tooling)
Jump to: navigation, search
Coedit 2 update 6 under OpenSuse 13.2

Coedit is an multi-plateform IDE dedicated to the D programming language, its compilers and its libraries.

Its name is the contraction of compile and edit.

Development aspects

The software is being developed since June 2014 but the idea is older as stated by a discussion in February 2013. The development started on Windows and the linux version was barely tested. Since September 2015 this is the opposite, linux is the main development platform. However the download statistics show that the Windows version is more popular.

Coedit has the particularity of being written in Object Pascal. It takes advantage of the Lazarus development platform, its visual component library, the RAD concept and the Synedit code editor component. Some of the tools used in background are written in D. The setup program is also a D program that's compiled directly in Coedit.

Each major version is named gold and comes with new features. They are followed by several regular updates with mostly bug fixes and improvements but also minor new features. The first major version was released on June 2015 and the second on February 2016. A third version is being prepared.

Features and tooling

Since the beginning, Coedit implements a system of runnable module. It allows to edit, compile and run a D module without typing a command line and without saving a file. A library manager allows any runnable module to use static libraries, still without specifying any compiler parameter.

The feature set is similar to any other IDE. Most of the IDE-grade features (completion, hints, code navigation) are provided by DCD. Other background tools used includes DUB, Dscanner, dfmt, cetodo, cesyms.

All the D compilers are supported. This is natural for the DUB projects since the build tool allows to select a particular compiler. Coedit also implements its own project format. It is based on the DMD command line interface so LDC and GDC are supported through the LDMD2 and the GDMD bridges.

Debugging is not supported at all.

Anecdotes

In a HackerNews comment, the author has described Coedit as a GUI with a lot of piped sub-processes under the hood