Dscanner - DCD - Dfix ... Editor support or the lack of it.

NX nightmarex1337 at hotmail.com
Sat Jan 27 10:20:01 UTC 2018


On Thursday, 25 January 2018 at 15:20:15 UTC, Benny wrote:
> I can download Go, C#, C, C++, Delphi, Rust and get proper 
> working plugins for the above mentioned editors but D is always 
> that frustrating problem child. And i can not blame the plugin 
> authors because the issues always seem to stem from the D 
> plugins ( dcd, dscanner, ... ).

I would like to point (again) that implementing proper and 
intelligent code completion for D is just ridiculously hard, and 
by that I mean *hard*. Seriously, one requires something as 
complex as the compiler itself. Oh and people actually did try to 
use compiler but guess what? Dmd doesn't do memory management of 
any kind (it was still the case last time I checked) it allocates 
and never frees, thus it's rather unfeasible to use dmd code for 
all those things. Also, the compiler is not fast enough for IDE 
usage anyway (ctfe, template heavy code...) so there is that.

> Maybe things work great in a few very specific editor but in my 
> personal experience, D its editor support is non stop 
> frustrating. And i suspect that this complaint is not new.

 From experience point I can tell the easiest and smartest IDE 
(plugin) *was* Mono-D¹. I say was because it doesn't support 
latest MonoDevelop version² and not maintained these days so you 
need to somehow find and install MonoDevelop 5 (you can find it 
here²). What you need to do is basically go to add-in manager, 
install "D Language Binding" from gallery, go to settings and set 
"Import Paths". If the compiler directory is not in the PATH you 
need to configure those too but that's about it. It even lets you 
open dub.json files as projects and some other nice stuff you can 
read in wiki³ (there are some outdated information so beware).
The reason it's no longer maintained is as you can guess: it was 
a one man's show.

¹ https://github.com/aBothe/Mono-D
² https://github.com/aBothe/Mono-D/issues/648
³ https://wiki.dlang.org/Mono-D


More information about the Digitalmars-d mailing list