The tooling needs detailed build configuration knowledge, which is relatively available to extract from the msbuild runtime. Makefiles are not any sort of fun to extract such knowledge from, and I'm not aware of standard tooling to hook into here.
dub should be simple, but that only works for simple D projects and small libraries, it all falls over at scale. Even DMD itself is too large a D project for Code-D to work well with.
There's also no sense of 'active configuration', which makes it impossible to apply the proper build configuration when navigating or highlighting code.  

For example; VisualD not only *works*, but it can even do goto-definition between languages; if you extern(C++) some function, and then "go to definition" from your D code, it'll find it in the C++ code and navigate there because of the centralised code database engine.
Code-D often can't even go to the definition of D functions in D code reliably ;)

There is so much more work in VisualD than people can easily see at first glance.

On Thu, Jul 9, 2020 at 8:55 PM rikki cattermole via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
On 09/07/2020 10:22 PM, Manu wrote:
> Then the general autocomplete engine, which is fairly dependent on the
> detail expressed in the project files.

DCD is due for a rewrite into using dmd-fe.

However as it stands, I do not believe it is mature enough to use as a
library for this purpose. So I commend Rainer for helping to mature it!

It'll help in the long run to get IDE's up to VisualD's experience for
everything but debugging.