www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Visual D 1.1.0 released

reply Rainer Schuetze <r.sagitario gmx.de> writes:
Hi,

development on Visual D, the Visual Studio extension that adds D
language support to VS 2008-2019, has been rather slow recently, but
finally the results of recent months have been released.

Some highlights of this new version:

- semantic engine updated to frontend 2.095.1

- adds "adornments" (Visual Studio terminology) to the call
site of parameters that are passed by (mutable) ref, out or lazy. See
https://rainers.github.io/visuald/visuald/images/parameterstorage.png
for some examples.

- integrates dfmt for command "Format Document"

See https://rainers.github.io/visuald/visuald/VersionHistory.html for a
full list of changes.

You can find the update installer or a full installer bundled with
latest versions of DMD and LDC here:

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

Cheers,
Rainer
Mar 02
next sibling parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 Hi,

 development on Visual D, the Visual Studio extension that adds 
 D language support to VS 2008-2019, has been rather slow 
 recently, but finally the results of recent months have been 
 released.

 [...]
Thank you!!!
Mar 02
prev sibling next sibling parent Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 finally the results of recent months have been released.
All very cool features, thank you very much!! --Bastiaan.
Mar 03
prev sibling next sibling parent reply Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 You can find the update installer or a full installer bundled 
 with latest versions of DMD and LDC here:

 https://rainers.github.io/visuald/visuald/StartPage.html
For clarity, the converse is not true. If you use the official dmd installer (.exe) and select "Download Visual D" in it then you end up with only version 0.50 of VisualD. -- Bastiaan.
Mar 03
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 04/03/2021 00:07, Bastiaan Veelo wrote:
 On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 You can find the update installer or a full installer bundled with
 latest versions of DMD and LDC here:

 https://rainers.github.io/visuald/visuald/StartPage.html
For clarity, the converse is not true. If you use the official dmd installer (.exe) and select "Download Visual D" in it then you end up with only version 0.50 of VisualD.
Version 0.50 was the first to include automatic checks for updates, so it is hopefully not that much of a problem. But point taken, the DMD installer should be updated from time to time, too. Or just check for the latest version...
Mar 03
prev sibling next sibling parent reply Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 Hi,

 development on Visual D, the Visual Studio extension that adds 
 D language support to VS 2008-2019, has been rather slow 
 recently, but finally the results of recent months have been 
 released.

 Some highlights of this new version:

 - semantic engine updated to frontend 2.095.1

 - adds "adornments" (Visual Studio terminology) to the call
 site of parameters that are passed by (mutable) ref, out or 
 lazy. See
 https://rainers.github.io/visuald/visuald/images/parameterstorage.png
 for some examples.

 - integrates dfmt for command "Format Document"

 See 
 https://rainers.github.io/visuald/visuald/VersionHistory.html 
 for a full list of changes.

 You can find the update installer or a full installer bundled 
 with latest versions of DMD and LDC here:

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

 Cheers,
 Rainer
A few questions. How hard would the following be: 1. Highlight code as dead or alive in static if 2. Show typeid when hovering over a variable I have gifs showing what I mean. I'll post them when I get back to my laptop.
Mar 04
next sibling parent reply Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Thursday, 4 March 2021 at 13:29:11 UTC, Imperatorn wrote:
 On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 [...]
A few questions. How hard would the following be: 1. Highlight code as dead or alive in static if 2. Show typeid when hovering over a variable I have gifs showing what I mean. I'll post them when I get back to my laptop.
https://filebin.net/19gupoeedfdjx5tx with static if, and the other is displaying typeid on hover.
Mar 04
next sibling parent reply Bastiaan Veelo <Bastiaan Veelo.net> writes:
On Thursday, 4 March 2021 at 13:42:47 UTC, Imperatorn wrote:
 On Thursday, 4 March 2021 at 13:29:11 UTC, Imperatorn wrote:
 On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze 
 wrote:
 [...]
A few questions. How hard would the following be: 1. Highlight code as dead or alive in static if 2. Show typeid when hovering over a variable I have gifs showing what I mean. I'll post them when I get back to my laptop.
https://filebin.net/19gupoeedfdjx5tx well with static if, and the other is displaying typeid on hover.
It already does this, I would say. 1. The D equivalent of your use of `#if ... #else ... #endif` is `version() {...} else {...}`, which works in VisualD the same way as you show. `static if` is different: the condition often depends on the value of template parameters, so this does not simply translate to "dead" or "alive" in every case. 2. typeid is a runtime concept (takes inheritance into account) so this won't work in an editor outside of a debugging session. However VisualD already shows the (static) type and scope of variables on mouse-over, which is all you can wish for, I think. -- Bastiaan.
Mar 04
parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Thursday, 4 March 2021 at 17:18:38 UTC, Bastiaan Veelo wrote:
 On Thursday, 4 March 2021 at 13:42:47 UTC, Imperatorn wrote:
 [...]
It already does this, I would say. 1. The D equivalent of your use of `#if ... #else ... #endif` is `version() {...} else {...}`, which works in VisualD the same way as you show. `static if` is different: the condition often depends on the value of template parameters, so this does not simply translate to "dead" or "alive" in every case. 2. typeid is a runtime concept (takes inheritance into account) so this won't work in an editor outside of a debugging session. However VisualD already shows the (static) type and scope of variables on mouse-over, which is all you can wish for, I think. -- Bastiaan.
Oh, maybe Visual D has been updated with it lately? When I made the gif (some months ago?) you can see that no type information is available.
Mar 04
prev sibling parent reply Kagamin <spam here.lot> writes:
On Thursday, 4 March 2021 at 13:42:47 UTC, Imperatorn wrote:
 https://filebin.net/19gupoeedfdjx5tx


 well with static if, and the other is displaying typeid on 
 hover.
The second is a debug session. Visual Studio doesn't show type and value.
Mar 05
parent reply Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Friday, 5 March 2021 at 10:57:05 UTC, Kagamin wrote:
 On Thursday, 4 March 2021 at 13:42:47 UTC, Imperatorn wrote:
 https://filebin.net/19gupoeedfdjx5tx


 well with static if, and the other is displaying typeid on 
 hover.
The second is a debug session. Visual Studio doesn't show type and value.
True, but could it?
Mar 05
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 05/03/2021 12:26, Imperatorn wrote:
 On Friday, 5 March 2021 at 10:57:05 UTC, Kagamin wrote:
 On Thursday, 4 March 2021 at 13:42:47 UTC, Imperatorn wrote:
 https://filebin.net/19gupoeedfdjx5tx


 static if, and the other is displaying typeid on hover.
The second is a debug session. Visual Studio doesn't show type
True, but could it?
Visual D already does that with the help of the semantic highlighting: if an identifier is classified as a type or compile time value, it suppresses the debugger data tool tip and presents the usual one.
Mar 05
parent reply Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Saturday, 6 March 2021 at 06:59:28 UTC, Rainer Schuetze wrote:
 On 05/03/2021 12:26, Imperatorn wrote:
 On Friday, 5 March 2021 at 10:57:05 UTC, Kagamin wrote:
 On Thursday, 4 March 2021 at 13:42:47 UTC, Imperatorn wrote:
 https://filebin.net/19gupoeedfdjx5tx


 well with static if, and the other is displaying typeid on 
 hover.
The second is a debug session. Visual Studio doesn't show variable name and value.
True, but could it?
Visual D already does that with the help of the semantic highlighting: if an identifier is classified as a type or compile time value, it suppresses the debugger data tool tip and presents the usual one.
Oh, I see. What about dub integration. How much effort would it be to have something similar to what code-d has in vsc? Guesstimation?
Mar 06
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 06/03/2021 12:55, Imperatorn wrote:
 On Saturday, 6 March 2021 at 06:59:28 UTC, Rainer Schuetze wrote:
 On 05/03/2021 12:26, Imperatorn wrote:
 On Friday, 5 March 2021 at 10:57:05 UTC, Kagamin wrote:
 On Thursday, 4 March 2021 at 13:42:47 UTC, Imperatorn wrote:
 https://filebin.net/19gupoeedfdjx5tx


 with static if, and the other is displaying typeid on hover.
The second is a debug session. Visual Studio doesn't show type value.
True, but could it?
Visual D already does that with the help of the semantic highlighting: if an identifier is classified as a type or compile time value, it suppresses the debugger data tool tip and presents the usual one.
Oh, I see. What about dub integration. How much effort would it be to have something similar to what code-d has in vsc? Guesstimation?
I'm not much of a dub user. Last time I checked, using it as a package manager was fine, but not as a build tool. Dependency checks were incomplete and rather slow. The visuald project generation is pretty dated and doesn't support multiple configurations which kind of breaks the usual VS workflow. I think for better integration dub project generation needs to be improved (and extended to vcxproj files), or Visual D has to do it itself from "dub describe" (if that's possible). The latter would also allow seamless updates of the project in the background. Then, integration of package management can be considered.
Mar 09
parent reply Petar Kirov [ZombineDev] <petar.p.kirov gmail.com> writes:
On Wednesday, 10 March 2021 at 07:29:44 UTC, Rainer Schuetze 
wrote:
 On 06/03/2021 12:55, Imperatorn wrote:
 On Saturday, 6 March 2021 at 06:59:28 UTC, Rainer Schuetze 
 wrote:
 On 05/03/2021 12:26, Imperatorn wrote:
 On Friday, 5 March 2021 at 10:57:05 UTC, Kagamin wrote:
 On Thursday, 4 March 2021 at 13:42:47 UTC, Imperatorn wrote:
 https://filebin.net/19gupoeedfdjx5tx


 as well with static if, and the other is displaying typeid 
 on hover.
The second is a debug session. Visual Studio doesn't show variable name and value.
True, but could it?
Visual D already does that with the help of the semantic highlighting: if an identifier is classified as a type or compile time value, it suppresses the debugger data tool tip and presents the usual one.
Oh, I see. What about dub integration. How much effort would it be to have something similar to what code-d has in vsc? Guesstimation?
I'm not much of a dub user. Last time I checked, using it as a package manager was fine, but not as a build tool. Dependency checks were incomplete and rather slow. The visuald project generation is pretty dated and doesn't support multiple configurations which kind of breaks the usual VS workflow. I think for better integration dub project generation needs to be improved (and extended to vcxproj files), or Visual D has to do it itself from "dub describe" (if that's possible). The latter would also allow seamless updates of the project in the background. Then, integration of package management can be considered.
As far as I remember (circa 2015) Mono-D [0] was the IDE with the best Dub support - you could just open dub.json files as if they were project files (sln/csproj). This was by far the most seamless experience back when I was using IDEs more heavily. Visual-D could also use Dub as a library, similar to [1][2]. Also it would be nice to integrate code.dlang.org, just like NuGet is integrated for .NET in VS. [0]: https://wiki.dlang.org/Mono-D [1]: https://github.com/Pure-D/workspace-d [2]: https://github.com/atilaneves/reggae/tree/master/src/reggae/dub/interop
Mar 12
parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Friday, 12 March 2021 at 10:04:05 UTC, Petar Kirov 
[ZombineDev] wrote:
 On Wednesday, 10 March 2021 at 07:29:44 UTC, Rainer Schuetze 
 wrote:
 [...]
As far as I remember (circa 2015) Mono-D [0] was the IDE with the best Dub support - you could just open dub.json files as if they were project files (sln/csproj). This was by far the most seamless experience back when I was using IDEs more heavily. Visual-D could also use Dub as a library, similar to [1][2]. Also it would be nice to integrate code.dlang.org, just like NuGet is integrated for .NET in VS. [0]: https://wiki.dlang.org/Mono-D [1]: https://github.com/Pure-D/workspace-d [2]: https://github.com/atilaneves/reggae/tree/master/src/reggae/dub/interop
Yeah, this would be awesome deluxe
Mar 12
prev sibling parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 04/03/2021 14:29, Imperatorn wrote:
 A few questions.
 
 How hard would the following be:
 
 1. Highlight code as dead or alive in static if
 
 2. Show typeid when hovering over a variable
 
Adding to what Bastiaan said: "Lowlighting" disabled code in static if() similar to debug/version conditions is on my list of things to implement, but indeed, it might get confusing in templates because a random instantiation is currently used to show semantic information for its members. Hovering a variable should show its type in the tool tip (note that you can click the type in the tip to jump to its definition). But your example shows that there is a problem with the expression "typeid(T)", as no information is shown when hovering T inside the parenthesis. Probably an omission in the visitor.
Mar 05
parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Friday, 5 March 2021 at 08:50:59 UTC, Rainer Schuetze wrote:
 On 04/03/2021 14:29, Imperatorn wrote:
 A few questions.
 
 How hard would the following be:
 
 1. Highlight code as dead or alive in static if
 
 2. Show typeid when hovering over a variable
 
Adding to what Bastiaan said: "Lowlighting" disabled code in static if() similar to debug/version conditions is on my list of things to implement, but indeed, it might get confusing in templates because a random instantiation is currently used to show semantic information for its members. Hovering a variable should show its type in the tool tip (note that you can click the type in the tip to jump to its definition). But your example shows that there is a problem with the expression "typeid(T)", as no information is shown when hovering T inside the parenthesis. Probably an omission in the visitor.
Ok, thanks for working on Visual D. Imo it's the best IDE we have in D currently. One thing that would be awesome though is better nuget. Code-D has solved this by having a search bar, I don't know if that would be possible in VS tho, I'm just talking before thinking. It's risky and I like it 😎
Mar 05
prev sibling next sibling parent reply James Lu <jamtlu gmail.com> writes:
On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 Hi,

 development on Visual D, the Visual Studio extension that adds 
 D language support to VS 2008-2019, has been rather slow 
 recently, but finally the results of recent months have been 
 released.

 Some highlights of this new version:

 - semantic engine updated to frontend 2.095.1

 - adds "adornments" (Visual Studio terminology) to the call
 site of parameters that are passed by (mutable) ref, out or 
 lazy. See
 https://rainers.github.io/visuald/visuald/images/parameterstorage.png
 for some examples.

 - integrates dfmt for command "Format Document"

 See 
 https://rainers.github.io/visuald/visuald/VersionHistory.html 
 for a full list of changes.

 You can find the update installer or a full installer bundled 
 with latest versions of DMD and LDC here:

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

 Cheers,
 Rainer
Hi, I've gotten D articles to the frontpage of Hacker News 4 times. I think this would be a good candidate to get to the frontpage of Hacker News again. I want you to submit it to Hacker News, then add a comment saying: * Explain why you made this * Explain what's interesting about Visual D * Offer to explain questions Use the title: "Visual Studio Code for D Language 1.1.0"
Mar 04
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 04/03/2021 14:43, James Lu wrote:
 On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 Hi,

 development on Visual D, the Visual Studio extension that adds D
 language support to VS 2008-2019, has been rather slow recently, but
 finally the results of recent months have been released.

 Some highlights of this new version:

 - semantic engine updated to frontend 2.095.1

 - adds "adornments" (Visual Studio terminology) to the call
 site of parameters that are passed by (mutable) ref, out or lazy. See
 https://rainers.github.io/visuald/visuald/images/parameterstorage.png
 for some examples.

 - integrates dfmt for command "Format Document"

 See https://rainers.github.io/visuald/visuald/VersionHistory.html for
 a full list of changes.

 You can find the update installer or a full installer bundled with
 latest versions of DMD and LDC here:

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

 Cheers,
 Rainer
Hi, I've gotten D articles to the frontpage of Hacker News 4 times. I think this would be a good candidate to get to the frontpage of Hacker News again. I want you to submit it to Hacker News, then add a comment saying: * Explain why you made this * Explain what's interesting about Visual D * Offer to explain questions
 
 Use the title: "Visual Studio Code for D Language 1.1.0"
Thanks for the suggestion. I'm not a user of these social news sites, though, and even don't have time to keep track of discussions on the D forums lately. BTW: Visual D is not an extension for VS Code, but plain ol' Visual Studio.
Mar 05
prev sibling next sibling parent kinke <noone nowhere.com> writes:
Thx Rainer, always much appreciated.

On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 See 
 https://rainers.github.io/visuald/visuald/images/parameterstorage.png for some
examples.
Very cool.
Mar 06
prev sibling parent Dylan Graham <dylan.graham2000 gmail.com> writes:
On Tuesday, 2 March 2021 at 08:58:15 UTC, Rainer Schuetze wrote:
 Hi,

 development on Visual D, the Visual Studio extension that adds 
 D language support to VS 2008-2019, has been rather slow 
 recently, but finally the results of recent months have been 
 released.

 [...]
Thanks for update. I love the adornments feature - one thing I work!
Mar 26