On Monday, 22 August 2022 at 22:24:23 UTC, JN wrote:
>On Monday, 22 August 2022 at 10:11:01 UTC, Laurent Tréguier wrote:
>The problem of D's tooling is old, and will probably never be completely solved. As you said at the start of your post, this is hardly the first time this comes up. I predict it's also not going to be the last.
I don't think you can truly "solve" this problem in a language that has templates. Look at C++, it has much bigger tooling budget than D and still most IDEs have only rudimentary autocompletion that breaks as soon as any templates come into play. I think the issue is that you can even think of a solution that will work for a template, like array<int>, but in reality underneath that array<int> is a scary type of 10 or more templates nested together. The fact that many methods return auto type doesn't help either.
That said, when autocomplete works in D, it usually works better than comparable C++ autocomplete.
Visual Studio, QtCreator and Clion are quite good at it.
Visual Studio can since 2017 version even customize the template parameters for a specific set of types when debugging what the template might look like.
https://devblogs.microsoft.com/cppblog/template-intellisense/