VisualD with latest VS2019 (and 2022)

Rainer Schuetze r.sagitario at gmx.de
Mon Nov 15 22:23:30 UTC 2021


On 15/11/2021 10:52, awson wrote:
> I tried to build `msbuild\dbuild` project against latest VS2019 16.11.6.
> 
> First I fixed a few wrong references to get things compiled, and finally 
> found `MultiToolTaskVisualD.cs` compilation failing because of 
> `taskScheduler` doesn't exist and because of several type mismatches.
> 
> Indeed, in the latest VS2019 `taskScheduler` went private and 
> `MultiToolTask` class quite differs from that in earlier VS2019s.
> 
> (VS2022's `MultiToolTask` differs further)
> 
> Another my impression from looking into `visuald` repo is that it isn't 
> actively developed at all.
> 

The development mostly happens here: https://github.com/rainers/visuald

I have just pushed my changes to make it work with VS 2022.

The MultiToolTaskVisualD was contributed by someone who's no longer 
around AFAICT. I had to disable it in VS 2022 for now because of the 
mentioned problems.

> So I'm wondering:
> 
> 1. How big is `visuald`'s userbase?

According to the github stats, the last version has about 2000 downloads.

> 2. Is `visuald` considered a viable IDE for D language?

I hope so ;-)

> 
> I could help with fixing the problems with latest VS2019 and VS2022, but 
> I need some help with what the `Package` compilation model is.

Does the latest release fail for 16.11.6? It still works for me in 16.11.2.

> 
> Can anybody point me to where is it explained in the context of `visuald`?

The package compilation model groups D source files by folder and 
compiles them to one object file for each group. It is somewhere between 
building all files in the project at once and each file individually.

> Does there exist any example of a `visuald` project using the `Package` 
> compilation model?
> 

The dmd project 
https://github.com/dlang/dmd/blob/master/src/vcbuild/dmd.vcxproj#L163 
builds per package, but it doesn't use parallel compilation. I'm not 
sure if it is a feature that is actually needed. It was meant for single 
file compilation, which is seldom necessary anyway.


More information about the Digitalmars-d-ide mailing list