Thread overview
VisualD with latest VS2019 (and 2022)
Nov 15, 2021
awson
Nov 15, 2021
zjh
Nov 15, 2021
Rainer Schuetze
Nov 15, 2021
Imperatorn
Nov 16, 2021
awson
November 15, 2021

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.

So I'm wondering:

  1. How big is visuald's userbase?
  2. Is visuald considered a viable IDE for D language?

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

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

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

November 15, 2021

On Monday, 15 November 2021 at 09:52:24 UTC, awson wrote:

visuald is Actively developing.
dcd for vscode.

November 15, 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.
November 15, 2021
On Monday, 15 November 2021 at 22:23:30 UTC, Rainer Schuetze wrote:
>
> On 15/11/2021 10:52, awson wrote:
>> [...]
>
> 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.
>
>> [...]
>
> According to the github stats, the last version has about 2000 downloads.
>
>> [...]
>
> I hope so ;-)
>
>> [...]
>
> Does the latest release fail for 16.11.6? It still works for me in 16.11.2.
>
>> [...]
>
> 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.
>
>> [...]
>
> 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.

Just wanted to say thanks for working on Visual D. It's a life saver for me when it comes to debugging as it mostly just works. The only problem I've had with it is related to dmdserver using a lot of memory and restarting.

If I restart VS the problem goes away.
November 16, 2021
On Monday, 15 November 2021 at 22:23:30 UTC, Rainer Schuetze wrote:
>> 
>> 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.

Thanks!