Thread overview
Visual D 1.0.1 released
Aug 23
kinke
Aug 25
mw
August 23
Hi,

an update for Visual D has just been made available. Visual D is a Visual Studio extension that adds D language support to VS 2008-2019.

The most important part of the update is that the semantic engine is now based on the latest compiler release 2.093.1. There are a few other improvements and bug fixes, e.g. support for navigation with forward/backward mouse buttons and fixed documentation tool tips for template functions.

See the full version history here: https://rainers.github.io/visuald/visuald/VersionHistory.html

You can download the update installer or the full installer bundled with DMD 2.093.1 and LDC 1.23.0 from

  https://rainers.github.io/visuald/visuald/StartPage.html

Cheers,
Rainer
August 23
Thx Rainer, much appreciated.
August 25
On Sunday, 23 August 2020 at 07:33:01 UTC, Rainer Schuetze wrote:
> Hi,
>
> an update for Visual D has just been made available. Visual D is a Visual Studio extension that adds D language support to VS 2008-2019.
>
> The most important part of the update is that the semantic engine is now based on the latest compiler release 2.093.1. There are a few other improvements and bug fixes, e.g. support for navigation with forward/backward mouse buttons and fixed documentation tool tips for template functions.
>
> See the full version history here: https://rainers.github.io/visuald/visuald/VersionHistory.html
>
> You can download the update installer or the full installer bundled with DMD 2.093.1 and LDC 1.23.0 from
>
>   https://rainers.github.io/visuald/visuald/StartPage.html
>


Thanks for the update.

I just tried, and found two issues:

https://issues.dlang.org/show_bug.cgi?id=21193
https://issues.dlang.org/show_bug.cgi?id=21194

Basically, I cannot build unit-threaded_property.lib (saying corrupt MS Coff object) with VisualD, but I can build on Windows using command line:

C:\project\dlang\dmd-2.093.1\windows\bin64\dub.exe test --build=unittest

August 25
On Sunday, 23 August 2020 at 07:33:01 UTC, Rainer Schuetze wrote:
> The most important part of the update is that the semantic engine is now based on the latest compiler release 2.093.1.

- Does the engine have a feature list?
- Is the engine relatively independent of Windows?
- Does engine integrate with language server (in a platform independent way)?
- Are there any plans for cross-platform (Linux) support?

I'm dying to get a semantic engine that supports code navigation to (and completion of) overloaded functions at their call site including UFCS-calls. DCD doesn't support these two features.
August 25

On 25/08/2020 07:25, mw wrote:
> On Sunday, 23 August 2020 at 07:33:01 UTC, Rainer Schuetze wrote:
>> Hi,
>>
>> an update for Visual D has just been made available. Visual D is a Visual Studio extension that adds D language support to VS 2008-2019.
>>
>> The most important part of the update is that the semantic engine is now based on the latest compiler release 2.093.1. There are a few other improvements and bug fixes, e.g. support for navigation with forward/backward mouse buttons and fixed documentation tool tips for template functions.
>>
>> See the full version history here: https://rainers.github.io/visuald/visuald/VersionHistory.html
>>
>> You can download the update installer or the full installer bundled with DMD 2.093.1 and LDC 1.23.0 from
>>
>>   https://rainers.github.io/visuald/visuald/StartPage.html
>>
> 
> 
> Thanks for the update.
> 
> I just tried, and found two issues:
> 
> https://issues.dlang.org/show_bug.cgi?id=21193 https://issues.dlang.org/show_bug.cgi?id=21194
> 
> Basically, I cannot build unit-threaded_property.lib (saying corrupt MS Coff object) with VisualD, but I can build on Windows using command line:
> 
> C:\project\dlang\dmd-2.093.1\windows\bin64\dub.exe test --build=unittest
> 

I responded in the bug reports, I suspect some issue with dub's project generation.
August 25

On 25/08/2020 22:37, Per Nordlöw wrote:
> On Sunday, 23 August 2020 at 07:33:01 UTC, Rainer Schuetze wrote:
>> The most important part of the update is that the semantic engine is now based on the latest compiler release 2.093.1.
> 
> - Does the engine have a feature list?

Unfortunately the feature list in the documentation has bitrotten a bit. You can get an idea of the functionality from the interface file: https://github.com/dlang/visuald/blob/master/vdc/ivdserver.d

> - Is the engine relatively independent of Windows?

Mostly, but the interface to the IDE, which is a Local COM server.

> - Does engine integrate with language server (in a platform independent
> way)?

The concept is similar, but predates the Language Server protocol.

Last time I tried, LSP based language services don't work well together with other services for the same language in Visual Studio.

> - Are there any plans for cross-platform (Linux) support?

Not really. I think most of the code could be integrated with the dmd code base (changeset is https://github.com/dlang/dmd/compare/stable...rainers:dmdserver), but I currently don't have too much time for that. That way an LSP based service could be adopted to provide similar functionality.

> 
> I'm dying to get a semantic engine that supports code navigation to (and completion of) overloaded functions at their call site including UFCS-calls. DCD doesn't support these two features.

Navigation should be fine, but completion is usually on non-compilable code, so it's not always perfect. IMO it has improved in comparison to the DParser based engine, though.
August 26
On Tuesday, 25 August 2020 at 20:37:38 UTC, Per Nordlöw wrote:

> I'm dying to get a semantic engine that supports code navigation to (and completion of) overloaded functions at their call site including UFCS-calls. DCD doesn't support these two features.

I have interest in a LSP server based on the DMD frontend as well. There's also a SAoC 2020 project related to DMD as a library [1]. Was there another master thesis (or similar) that would work on a LSP server as well? Either sponsored by Symmetry or related to the University of Bucharest.

We should try to work together instead of duplicating the work. Although I've given up on the DMD upstream project and instead, I've forked it [2] to be able to do the necessary changes.

[1] https://dlang.org/blog/2020/08/23/symmetry-autumn-of-code-2020-projects-and-participants

[2] https://github.com/jacob-carlborg/ddc

--
/Jacob Carlborg