Difference between revisions of "Coedit"

From D Wiki
Jump to: navigation, search
(Development aspects)
(Category:IDEs)
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
__FORCETOC__
  
[[File:Coedit.linux.kde.33.png|thumb|200px|''Coedit 2 update 6 under OpenSuse 13.2'']]
+
[[File:Coedit.linux.kde.33.png|thumb|200px|''Coedit 2 executed in OpenSuse 13.2'']]
 
[https://github.com/BBasile/Coedit Coedit] is a free, open source, multi-plateform IDE dedicated to the D programming language, its compilers, libraries and tools.
 
[https://github.com/BBasile/Coedit Coedit] is a free, open source, multi-plateform IDE dedicated to the D programming language, its compilers, libraries and tools.
  
 
Its name is the contraction of ''compile'' and ''edit''.
 
Its name is the contraction of ''compile'' and ''edit''.
  
==Development aspects==
+
== Development aspects ==
  
 
The software is being developed since June 2014 but the idea is older [https://forum.dlang.org/post/upxejxdrlqinhtjicigb@forum.dlang.org as shown by a NG discussion] in February 2013.
 
The software is being developed since June 2014 but the idea is older [https://forum.dlang.org/post/upxejxdrlqinhtjicigb@forum.dlang.org as shown by a NG 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 [http://www.somsubhra.com/github-release-stats/?username=BBasile&repository=Coedit is more popular].
+
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. While in the past Coedit was more used under Windows since the third version the download statistics show that [http://www.somsubhra.com/github-release-stats/?username=BBasile&repository=Coedit it's more used under linux].
  
 
Coedit has the particularity of being written in [https://www.openhub.net/p/Coedit/analyses/latest/languages_summary Object Pascal]. It takes advantage of the [http://www.lazarus-ide.org/ Lazarus] development platform, its visual component library, the RAD concept and the [http://wiki.freepascal.org/SynEdit Synedit] code editor component. Some of the tools used in background are written in D. The [https://github.com/BBasile/Coedit/tree/master/cesetup setup program] is also a D program that's compiled directly in Coedit.
 
Coedit has the particularity of being written in [https://www.openhub.net/p/Coedit/analyses/latest/languages_summary Object Pascal]. It takes advantage of the [http://www.lazarus-ide.org/ Lazarus] development platform, its visual component library, the RAD concept and the [http://wiki.freepascal.org/SynEdit Synedit] code editor component. Some of the tools used in background are written in D. The [https://github.com/BBasile/Coedit/tree/master/cesetup setup program] is also a D program that's compiled directly in Coedit.
Line 14: Line 15:
 
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 [http://forum.dlang.org/post/toeufcqlqshrtiinkulq@forum.dlang.org June 2015] and the second on [https://forum.dlang.org/post/ucusdwxfrxpmenouiqth@forum.dlang.org February 2016]. A third version was released on [https://github.com/BBasile/Coedit/releases/tag/3_gold March 2017].
 
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 [http://forum.dlang.org/post/toeufcqlqshrtiinkulq@forum.dlang.org June 2015] and the second on [https://forum.dlang.org/post/ucusdwxfrxpmenouiqth@forum.dlang.org February 2016]. A third version was released on [https://github.com/BBasile/Coedit/releases/tag/3_gold March 2017].
  
==Features and tooling==
+
== 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.
+
[[File:Coedit_kde4.png|thumb|200px|''Coedit 3 gold executed in OpenSuse 13.2'']]
  
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 [https://github.com/dlang/dub DUB], [https://github.com/Hackerpilot/Dscanner Dscanner], [https://github.com/Hackerpilot/dfmt dfmt], [https://github.com/BBasile/Coedit/tree/cec04e6b2a43fe4d3fad120d9bf669a376d84192/cetodo cetodo], [https://github.com/BBasile/Coedit/tree/cec04e6b2a43fe4d3fad120d9bf669a376d84192/cesyms cesyms]. In the third version, The background tools written especially for Coedit (''cesyms'' and ''cetodo'') are unified in a single tool called [https://github.com/BBasile/Coedit/tree/master/dastworx Dastworx (D AST works)].
+
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 the runnable modules to use static libraries, still without specifying any compiler parameter.
  
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.
+
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 [https://github.com/dlang/dub DUB], [https://github.com/dlang-community/Dscanner Dscanner], [https://github.com/dlang-community/dfmt dfmt]. A last tool written especially for Coedit [https://github.com/BBasile/Coedit/tree/master/dastworx Dastworx (D AST works)] provides other IDE features such as the list of the symbol declared in a module, the list of the TODO comments, the Halstead metrics, the import list. These features are based on the [https://github.com/dlang-community/libdparse libdparse] library.
  
Debugging is supported since version 3, using GDB, but only for the POSIX platform, because under Windows DMD still produces OMF objects and debugging information that GDB doesn't recognize.
+
All the D compilers are supported. This is obvious 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.
  
==Anecdotes==
+
[http://bbasile.github.io/Coedit/widgets_gdb_commander Visual debugging] is supported since version 3, using GDB, but only for the POSIX platform since DMD for win32 still produces OMF objects and debugging information that GDB doesn't recognize.
  
In a HackerNews comment, the author has described Coedit as [https://news.ycombinator.com/item?id=11142145 ''a GUI with a lot of piped sub-processes under the hood''].
+
== Anecdotes ==
 +
 
 +
* In a HackerNews comment, the author has described Coedit as [https://news.ycombinator.com/item?id=11142145 ''a GUI with a lot of piped sub-processes under the hood''].
 +
 
 +
* The project was briefly deleted during Fall 2015. The first [https://github.com/BBasile/Coedit/issues/1 issue created on Github] is actually related to the unrecoverable losses caused by the deletion of a repository (issues, releases).
 +
 
 +
[[Category:IDEs]]

Latest revision as of 16:45, 13 March 2018


Coedit 2 executed in OpenSuse 13.2

Coedit is a free, open source, multi-plateform IDE dedicated to the D programming language, its compilers, libraries and tools.

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 shown by a NG 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. While in the past Coedit was more used under Windows since the third version the download statistics show that it's more used under linux.

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 was released on March 2017.

Features and tooling

Coedit 3 gold executed in OpenSuse 13.2

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 the runnable modules 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. A last tool written especially for Coedit Dastworx (D AST works) provides other IDE features such as the list of the symbol declared in a module, the list of the TODO comments, the Halstead metrics, the import list. These features are based on the libdparse library.

All the D compilers are supported. This is obvious 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.

Visual debugging is supported since version 3, using GDB, but only for the POSIX platform since DMD for win32 still produces OMF objects and debugging information that GDB doesn't recognize.

Anecdotes

  • The project was briefly deleted during Fall 2015. The first issue created on Github is actually related to the unrecoverable losses caused by the deletion of a repository (issues, releases).