www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Visual D 0.49.0-beta1

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

I have just created a first beta for Visual D 0.49.0:
https://github.com/dlang/visuald/releases/tag/v0.49.0-beta1

Highlights:

- parallel compilation supported by VC projects (thanks to Igor Cesi)

- new "Language" configuration page for -betterC, -dipNN and
-transition=/-preview=/-revert= options

- dparser: catch up with recent language changes

See the link above for more details.

Rainer
Mar 16 2019
next sibling parent reply Michelle Long <HappyDance321 gmail.com> writes:
On Saturday, 16 March 2019 at 18:45:48 UTC, Rainer Schuetze wrote:
 Hi,

 I have just created a first beta for Visual D 0.49.0: 
 https://github.com/dlang/visuald/releases/tag/v0.49.0-beta1

 Highlights:

 - parallel compilation supported by VC projects (thanks to Igor 
 Cesi)

 - new "Language" configuration page for -betterC, -dipNN and 
 -transition=/-preview=/-revert= options

 - dparser: catch up with recent language changes

 See the link above for more details.

 Rainer
Thanks. Is there any way to get the debugger to add locals that show up in code? They are not listed in locals for some reason and I have to go through this and find them... In fact, they are properties: override property double D() { return d; } when using D, it will not show up. I realize it is actually a function but it seems like something could be done to display it since properties are generally meant to be used like variables and a lot of times are more like aliases.
Mar 16 2019
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 16/03/2019 20:49, Michelle Long wrote:
 On Saturday, 16 March 2019 at 18:45:48 UTC, Rainer Schuetze wrote:
 Hi,

 I have just created a first beta for Visual D 0.49.0:
 https://github.com/dlang/visuald/releases/tag/v0.49.0-beta1

 Highlights:

 - parallel compilation supported by VC projects (thanks to Igor Cesi)

 - new "Language" configuration page for -betterC, -dipNN and
 -transition=/-preview=/-revert= options

 - dparser: catch up with recent language changes

 See the link above for more details.

 Rainer
Thanks. Is there any way to get the debugger to add locals that show up in code? They are not listed in locals for some reason and I have to go through this and find them... In fact, they are properties: override property double D() { return d; } when using D, it will not show up. I realize it is actually a function but it seems like something could be done to display it since properties are generally meant to be used like variables and a lot of times are more like aliases.
You can evaluate these explicitly with the watch "obj.D()", but it is not known to the debugger whether the function has side-effects. That makes it a bit dangerous to execute it when hovering or in the locals list. " property" isn't found in the debug info or in the mangling, but maybe a "pure const" method could be executed as that info is theoretically available. See also https://issues.dlang.org/show_bug.cgi?id=16692
Mar 16 2019
prev sibling parent reply Michelle Long <HappyDance321 gmail.com> writes:
On Saturday, 16 March 2019 at 18:45:48 UTC, Rainer Schuetze wrote:
 Hi,

 I have just created a first beta for Visual D 0.49.0: 
 https://github.com/dlang/visuald/releases/tag/v0.49.0-beta1

 Highlights:

 - parallel compilation supported by VC projects (thanks to Igor 
 Cesi)

 - new "Language" configuration page for -betterC, -dipNN and 
 -transition=/-preview=/-revert= options

 - dparser: catch up with recent language changes

 See the link above for more details.

 Rainer
Also, I'm not sure if this is new or what but now when I compile my projects I get Building x64\Debug DMD\privatephobos.lib msvc.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. msvc_math.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. errno.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. adler32.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. compress.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. crc32.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. deflate.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. gzclose.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. gzlib.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. gzread.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. gzwrite.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. infback.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. inffast.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. inflate.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. inftrees.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. trees.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. uncompr.c Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26430 for x64 Copyright (C) Microsoft Corporation. All rights reserved. zutil.c These files are in dmd src phobos dir it seems and it happens every time I build the project. Best I can tell is visual D is building phobos every time... This happens even if I made a change to a single file and recompile. It used to not do this. I see no reason why it would have to rebuild phobos every time since nothing changes. Disabling private build removes the errors. Maybe an option to use build only if it does not exist so it does not rebuild every time. Also, does building multiple object files reduce compilation by not rebuilding everything? Seems like a lot of files are recompiled that don't change at all. ...and at the page http://rainers.github.io/visuald/visuald/StartPage.html, would it be possible to have a search that restricts to that info? There also seems to be an error in that a command line option -gc is being used by Visual D for "generate debug info suitable for mixed debugger" in the debug options. Disabling that options removes the switch. -gc seems to go with Visual studio while -g is for mago. Not sure what they are suppose to do but dmd does not accept -gc. You might want to add an option for -gf Emit debug info for all referenced types to the debug properties. Another thing: When I do a search for a variable and the Visual D search window pops up for multiple matches, double clicking any entry does not take me to the file and location of that entry making me manually find the entry.
Mar 16 2019
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
Thanks for the feedback.

On 17/03/2019 01:07, Michelle Long wrote:
[...]
 
 Best I can tell is visual D is building phobos every time... This
 happens even if I made a change to a single file and recompile. It used
 to not do this.
Hmm, it doesn't do it here. You can get some info why it happens if you enable global options "show why a target is rebuilt".
 
 I see no reason why it would have to rebuild phobos every time since
 nothing changes. Disabling private build removes the errors. Maybe an
 option to use build only if it does not exist so it does not rebuild
 every time.
There is no real dependency check for the private phobos build, only whether the file exists and whether the command line options or the environment have changed.
 Also, does building multiple object files reduce compilation by not
 rebuilding everything? Seems like a lot of files are recompiled that
 don't change at all.
The single file compilation only happens for the C files in phobos, everything else is built with a single invocation. see privatephobos.lib.build.cmd in the output folder.
 
 
 
 ...and at the page
 http://rainers.github.io/visuald/visuald/StartPage.html, would it be
 possible to have a search that restricts to that info?
The navigation bar is borrowed from the main D site, I'll have a look whether the search can be modified to be restricted to the Visual D pages ("Entire Site" is also misleading as it points to dlang.org instead).
 
 
 
 There also seems to be an error in that a command line option -gc is
 being used by Visual D for "generate debug info suitable for mixed
 debugger" in the debug options. Disabling that options removes the switch.
 
 
 -gc seems to go with Visual studio while -g is for mago.
 
 Not sure what they are suppose to do but dmd does not accept -gc.
-gc has been recently removed from the dmd command line. I think that recent versions of the VS debugger (without mago) no longer need the patches implied by -gc, but I'll have to verify.
 
 You might want to add an option for -gf Emit debug info for all
 referenced types  to the debug properties.
This is option "Generate full debug information".
 
 Another thing: When I do a search for a variable and the Visual D search
 window pops up for multiple matches, double clicking any entry does not
 take me to the file and location of that entry making me manually find
 the entry.
 
The symbol search works by analyzing JSON-files generated by the compiler. These can be outdated (for phobos you have to run "Build phobos browse info" once after changing the compiler - it's been proposed to do this automatically, see https://issues.dlang.org/show_bug.cgi?id=18841, but that needs some update check). For your own code, the JSON generation must be enabled in the project options. It reflects the state of the last successful build, though, not any later edits.
Mar 17 2019
parent reply Michelle Long <HappyDance321 gmail.com> writes:
On Sunday, 17 March 2019 at 09:08:05 UTC, Rainer Schuetze wrote:
 Thanks for the feedback.

 On 17/03/2019 01:07, Michelle Long wrote:
 [...]
 
 Best I can tell is visual D is building phobos every time... 
 This happens even if I made a change to a single file and 
 recompile. It used to not do this.
Hmm, it doesn't do it here. You can get some info why it happens if you enable global options "show why a target is rebuilt".
 
 I see no reason why it would have to rebuild phobos every time 
 since nothing changes. Disabling private build removes the 
 errors. Maybe an option to use build only if it does not exist 
 so it does not rebuild every time.
There is no real dependency check for the private phobos build, only whether the file exists and whether the command line options or the environment have changed.
 Also, does building multiple object files reduce compilation 
 by not rebuilding everything? Seems like a lot of files are 
 recompiled that don't change at all.
The single file compilation only happens for the C files in phobos, everything else is built with a single invocation. see privatephobos.lib.build.cmd in the output folder.
Ok, well, I set the setting and now it seems it is working. I reverted and it didn't rebuild. Maybe something got screwed up causing it to constantly rebuild. If I do a rebuild it gives me x64\Debug DMD\privatephobos.lib not up to date: command line has changed and now it is doing it again(if I make any change to my project files). Maybe only essential command line changes should be checked(architecture, etc... anything that would effect the library itself). I don't think the command line actually changed though. I simply added a space to a project file and built. If you are not sure about this error maybe add code to display the change in the command line so one could see what actually is changing. It might be a buggy piece of code that thinks it's changing when it's not but no way to tell.
 
 Another thing: When I do a search for a variable and the 
 Visual D search window pops up for multiple matches, double 
 clicking any entry does not take me to the file and location 
 of that entry making me manually find the entry.
 
The symbol search works by analyzing JSON-files generated by the compiler. These can be outdated (for phobos you have to run "Build phobos browse info" once after changing the compiler - it's been proposed to do this automatically, see https://issues.dlang.org/show_bug.cgi?id=18841, but that needs some update check). For your own code, the JSON generation must be enabled in the project options. It reflects the state of the last successful build, though, not any later edits.
I'm not sure, I got it to popup up on something else and was able to double click and it worked. So either it was a glitch or maybe it has some file finding errors and double clicking works but it can't open the file. Thanks!
Mar 19 2019
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 19/03/2019 21:03, Michelle Long wrote:
 If I do a rebuild it gives me
 
 x64\Debug DMD\privatephobos.lib not up to date: command line has changed
 
 and now it is doing it again(if I make any change to my project files).
 
 Maybe only essential command line changes should be
 checked(architecture, etc... anything that would effect the library
 itself).
 
 I don't think the command line actually changed though. I simply added a
 space to a project file and built.
 
 If you are not sure about this error maybe add code to display the
 change in the command line so one could see what actually is changing.
 It might be a buggy piece of code that thinks it's changing when it's
 not but no way to tell.
I couldn't reproduce it so far. The library is rebuilt if the commands to build it changes, and the last version is saved to privatephobos.lib.build in the output folder. If it happens again, please make a copy of the file and compare it to the version after it has been built again.
 
 Another thing: When I do a search for a variable and the Visual D
 search window pops up for multiple matches, double clicking any entry
 does not take me to the file and location of that entry making me
 manually find the entry.
[...]
 
 I'm not sure, I got it to popup up on something else and was able to
 double click and it worked. So either it was a glitch or maybe it has
 some file finding errors and double clicking works but it can't open the
 file.
I noticed an issue recently where selecting an entry would jump to the correct file, but not to the appropriate location. Repeating the same selection then jumps to the correct location. Probably has to do with the file just being loaded, but still needs to be investigated...
Mar 24 2019