digitalmars.D.ide - Visual D 0.48-beta1
- Rainer Schuetze (14/14) Oct 05 2018 Hi,
- kinke (1/1) Oct 05 2018 Thx, no issues with VS 2017 anymore after a quick check.
- James Japherson (5/21) Oct 07 2018 I just upgraded and now I'm constantly getting
- Rainer Schuetze (6/34) Oct 07 2018 Please specify a few more details about your environment: VS ersion, OS,
- James Japherson (10/10) Oct 07 2018 I installed 0.47 and tried intellisense and got an exception.
- James Japherson (13/52) Oct 07 2018 Pretty much latest of everything. Obviously Windows by default.
- James Japherson (17/56) Oct 08 2018 Basically I'm having lots of problems with 0.48.
- Rainer Schuetze (12/34) Oct 08 2018 I can reproduce with a combination of "static foreach" and "tupleof", I
- Rainer Schuetze (3/14) Oct 09 2018 Please try the new beta:
- James Japherson (24/38) Oct 10 2018 Oh man! Almost! It worked for about 3 minutes! I thought I was
- Rainer Schuetze (10/51) Oct 10 2018 Unfortunately it has always been this way: dmd only emits the context
- James Japherson (8/8) Oct 10 2018 See, when I override opApply, since it uses delegate, `foreach`
- James Japherson (69/124) Oct 10 2018 This makes it very difficult to do any debugging, basically
- Rainer Schuetze (12/152) Oct 12 2018 Some guesswork could be added. See also
- James Japherson (20/61) Oct 10 2018 Also, It seems that break points are not hit within meta code. If
- James Japherson (2/2) Oct 10 2018 It seems to be happening mainly on runs. Might help narrow it
- James Japherson (3/3) Oct 10 2018 It did start speeding up on me and got within several times a
- Rainer Schuetze (14/32) Nov 10 2018 I have just released a new beta:
- Nierjerson (6/45) Nov 12 2018 I'm getting the "This breakpoint will not be hit. No symbols have
- Rainer Schuetze (6/16) Nov 13 2018 I am not aware of changes in that area, but who knows...
- Rainer Schuetze (20/58) Nov 24 2018 rc1 is now available:
- kinke (3/4) Nov 25 2018 Thanks!
- Markus Pursche (21/21) Dec 12 2018 Hi Rainer, I wasn't sure exactly where to ask this, but I figured
- Rainer Schuetze (10/32) Dec 12 2018 Visual D adds a new task "CompileD" to msbuild together with a new "Item
- Michelle Long (28/28) Dec 13 2018 Small request on the latest release.
- Rainer Schuetze (6/55) Dec 14 2018 Yes, keeping the comment above the case makes sense. I guess it's very
Hi, I have prepared a beta for the next release of Visual D. Here are some highlights: - fixed installation/uninstallation issues in VS2017 - new VC project: allow adding C++ skeleton, fix some default settings - settings: removed some legacy settings and made scope clearer - dparser: support for "static foreach", fixed "find references", experimental "show value of constants in tooltip" - mago: fix crash in VS2017, shows return values of functions stepped over - fixed "Compile and Run" on selection - fixed help via F1 You can find the installer and more details here: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta1 Rainer
Oct 05 2018
Thx, no issues with VS 2017 anymore after a quick check.
Oct 05 2018
On Friday, 5 October 2018 at 12:41:52 UTC, Rainer Schuetze wrote:Hi, I have prepared a beta for the next release of Visual D. Here are some highlights: - fixed installation/uninstallation issues in VS2017 - new VC project: allow adding C++ skeleton, fix some default settings - settings: removed some legacy settings and made scope clearer - dparser: support for "static foreach", fixed "find references", experimental "show value of constants in tooltip" - mago: fix crash in VS2017, shows return values of functions stepped over - fixed "Compile and Run" on selection - fixed help via F1 You can find the installer and more details here: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta1 RainerI just upgraded and now I'm constantly getting A new guard page for the stack cannot be created DParserCOMServer. I upgraded from the linked file
Oct 07 2018
On 07/10/2018 13:47, James Japherson wrote:On Friday, 5 October 2018 at 12:41:52 UTC, Rainer Schuetze wrote:Hi, I have prepared a beta for the next release of Visual D. Here are some highlights: - fixed installation/uninstallation issues in VS2017 - new VC project: allow adding C++ skeleton, fix some default settings - settings: removed some legacy settings and made scope clearer - dparser: support for "static foreach", fixed "find references", experimental "show value of constants in tooltip" - mago: fix crash in VS2017, shows return values of functions stepped over - fixed "Compile and Run" on selection - fixed help via F1 You can find the installer and more details here: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta1 RainerI just upgraded and now I'm constantly getting A new guard page for the stack cannot be created DParserCOMServer.I upgraded from the linked filePlease specify a few more details about your environment: VS ersion, OS, etc. Is this happening for a specific project or source code? Does it happen for a new "Hello World" project, too?
Oct 07 2018
I installed 0.47 and tried intellisense and got an exception. I'll downgrade back to 0.46 which was working... Seems that intellisense is broke. In 0.48 I did get the intellisense but on the same code with 0.46 it doesn't want to show up. This is possibly because I'm using a static foreach to generate the structure in that case which 0.48 handled properly except it would crash most of the time. (maybe the static foreach code added is buggy?) 0.46 doesn't crash though.
Oct 07 2018
On Sunday, 7 October 2018 at 13:38:18 UTC, Rainer Schuetze wrote:On 07/10/2018 13:47, James Japherson wrote:Pretty much latest of everything. Obviously Windows by default. Any project. This seems to happen when I use intellisense. Almost definitely an issue with any changes recently made. This did not happen with 0.44. It seems that if I do something like obj. <- crashes when adding the . repeat, sometimes crashes sometimes not. Eventually I get a list of the intellisense. Not sure if it only happens with . but it definitely seems to trigger it regularly, making this release nearly impossible to use. I think it also happens outside of intellisense though.On Friday, 5 October 2018 at 12:41:52 UTC, Rainer Schuetze wrote:Hi, I have prepared a beta for the next release of Visual D. Here are some highlights: - fixed installation/uninstallation issues in VS2017 - new VC project: allow adding C++ skeleton, fix some default settings - settings: removed some legacy settings and made scope clearer - dparser: support for "static foreach", fixed "find references", experimental "show value of constants in tooltip" - mago: fix crash in VS2017, shows return values of functions stepped over - fixed "Compile and Run" on selection - fixed help via F1 You can find the installer and more details here: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta1 RainerI just upgraded and now I'm constantly getting A new guard page for the stack cannot be created DParserCOMServer.I upgraded from the linked filePlease specify a few more details about your environment: VS ersion, OS, etc. Is this happening for a specific project or source code? Does it happen for a new "Hello World" project, too?
Oct 07 2018
On Sunday, 7 October 2018 at 13:38:18 UTC, Rainer Schuetze wrote:On 07/10/2018 13:47, James Japherson wrote:Basically I'm having lots of problems with 0.48. 1. I get that one error about the stack constantly. Usually happens when I hit '.' but sometimes not. 2. error messages are pointing to lines below the actual error. Was very confusing to have D say the error is at line x when it is at line x - 3. 3. Not all debug symbols are showing in locals. foreach does not allow one to see symbols outside it, all kinds of problems here. 4. I tried downgrading to 0.46 which was working find yesterday and now it gives me an error about not being able to find user32.lib. Upgrading back to 0.47 fixes the user32.lib So far 0.47 seems to be the best of 0.46 and 0.48. I haven't used it enough to know though. Not sure what happened but 0.48 has become unusable. All kinds of minor problems. Hopefully it is just a simple fix!On Friday, 5 October 2018 at 12:41:52 UTC, Rainer Schuetze wrote:Hi, I have prepared a beta for the next release of Visual D. Here are some highlights: - fixed installation/uninstallation issues in VS2017 - new VC project: allow adding C++ skeleton, fix some default settings - settings: removed some legacy settings and made scope clearer - dparser: support for "static foreach", fixed "find references", experimental "show value of constants in tooltip" - mago: fix crash in VS2017, shows return values of functions stepped over - fixed "Compile and Run" on selection - fixed help via F1 You can find the installer and more details here: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta1 RainerI just upgraded and now I'm constantly getting A new guard page for the stack cannot be created DParserCOMServer.I upgraded from the linked filePlease specify a few more details about your environment: VS ersion, OS, etc. Is this happening for a specific project or source code? Does it happen for a new "Hello World" project, too?
Oct 08 2018
On 08/10/2018 17:16, James Japherson wrote:Basically I'm having lots of problems with 0.48. 1. I get that one error about the stack constantly. Usually happens when I hit '.' but sometimes not.I can reproduce with a combination of "static foreach" and "tupleof", I hope we can find a solution.2. error messages are pointing to lines below the actual error. Was very confusing to have D say the error is at line x when it is at line x - 3.I don't see this. If the error reported in the output window is already wrong, it is the compiler to blaim. Visual D doesn't modify the output. I see a one line offset with "Find References", though. (And a crash :-/ )3. Not all debug symbols are showing in locals. foreach does not allow one to see symbols outside it, all kinds of problems here.That happens if the foreach body is translated to a delegate literal. It should not be new to this version of Visual D and very much depends on the compiler generated debug info.4. I tried downgrading to 0.46 which was working find yesterday and now it gives me an error about not being able to find user32.lib. Upgrading back to 0.47 fixes the user32.libI suspect this happened due to some changes to the default library search paths, that are migrated upwards, but not downwards with 0.47 IIRC.So far 0.47 seems to be the best of 0.46 and 0.48. I haven't used it enough to know though. Not sure what happened but 0.48 has become unusable. All kinds of minor problems. Hopefully it is just a simple fix!Let's hope so. Thanks for reporting.
Oct 08 2018
On 08/10/2018 19:55, Rainer Schuetze wrote:On 08/10/2018 17:16, James Japherson wrote:Please try the new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta2Basically I'm having lots of problems with 0.48. 1. I get that one error about the stack constantly. Usually happens when I hit '.' but sometimes not.I can reproduce with a combination of "static foreach" and "tupleof", I hope we can find a solution.
Oct 09 2018
On Wednesday, 10 October 2018 at 06:37:33 UTC, Rainer Schuetze wrote:On 08/10/2018 19:55, Rainer Schuetze wrote:Oh man! Almost! It worked for about 3 minutes! I thought I was going to get somewhere! It got me with the stack frame bug. I'm having a bigger problem though, not sure I think this is always been a problem with visual D. I can't see any outer variables in the debug windows. It seems lambda's and inner functions and global scope is never shown while in those scopes! This makes it very hard to debug them because one can't see the outside variables. One has to make a sort of local copy. e.g., int x = 3; // Won't be seen while in foo void foo() { // BP stopped here, can't see x in debug watches unless we do the following: int tmpx = x; } -- Best I can tell is that the stack frame bug occurs much less. Maybe 1/10th of the time(before it was every few seconds, now it's every minute maybe(although it might get worse after it gets worse).On 08/10/2018 17:16, James Japherson wrote:Please try the new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta2Basically I'm having lots of problems with 0.48. 1. I get that one error about the stack constantly. Usually happens when I hit '.' but sometimes not.I can reproduce with a combination of "static foreach" and "tupleof", I hope we can find a solution.
Oct 10 2018
On 10/10/2018 09:21, James Japherson wrote:On Wednesday, 10 October 2018 at 06:37:33 UTC, Rainer Schuetze wrote:Do you have some test code that you can share?On 08/10/2018 19:55, Rainer Schuetze wrote:Oh man! Almost! It worked for about 3 minutes! I thought I was going to get somewhere! It got me with the stack frame bug.On 08/10/2018 17:16, James Japherson wrote:Please try the new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta2Basically I'm having lots of problems with 0.48. 1. I get that one error about the stack constantly. Usually happens when I hit '.' but sometimes not.I can reproduce with a combination of "static foreach" and "tupleof", I hope we can find a solution.I'm having a bigger problem though, not sure I think this is always been a problem with visual D. I can't see any outer variables in the debug windows. It seems lambda's and inner functions and global scope is never shown while in those scopes! This makes it very hard to debug them because one can't see the outside variables. One has to make a sort of local copy. e.g., int x = 3; // Won't be seen while in foo void foo() { // BP stopped here, can't see x in debug watches unless we do the following: int tmpx = x; }Unfortunately it has always been this way: dmd only emits the context pointer "this" as a void*, while it could be a struct containing the captured variables. LDC might behave a bit better here, but has other quirks. Globals can be watched by specifying the fully qualified name, no import/lookup information is available otherwise. (There is a workaround that allows them to be seen in D functions that are part of the same scope so lookup can be derived from the fully qualified function name).
Oct 10 2018
See, when I override opApply, since it uses delegate, `foreach` cannot be easily debugged because when inside they show nothing on the outside. One cannot determine values, etc... These types of problem make the programming experience not fun(I spend more time debugging than I do writing code ;/). Mainly because of all the hoops that are required to actually "see" things such as outer variables. I'll never believe that this problem can't be solve!! ;)
Oct 10 2018
On Wednesday, 10 October 2018 at 17:40:49 UTC, Rainer Schuetze wrote:On 10/10/2018 09:21, James Japherson wrote:This makes it very difficult to do any debugging, basically impossible, when one is using lambdas and nesting functions and globals. It's like running blind. Delegates which capture the context are basically useless because you can never see that context in the debugger. Globals are somewhat useless because you can't see them in the debugger automatically(so you have to remember the name spelling, etc). Something should be done about this! Surely it is not a hard problem! Can hacks be done? Some way for visual D to get the context? Surely it knows the outer context because it can trace the stack. It should just have to work itself up the stack to get the locations of the functions and then, if it knows the stack structure(locals, which D should emit) then it can determine who and what and then add them to the watch as needed? After all, all we are talking about here is a Variable name, it's type, and it's value. I'm also mainly talking about the locals, auto, and watch. Locals could be true locals, auto could include the total context and watch could automatically determine context(do a match, search to find the watched name in any ancestral match, could list for multiple matches, although there should only ever be one since D does not allow shadowing). If this is too hard for Visual D, what does D itself need to make it happen? IMO, debugging is a real pain because of this. To debug I one has to know the values, but one cannot get the values. Even if Visual D had to use hacks, it is better than nothing. e.g., if Visual D could remember outer variables(not sure how unless it tracked each function call then it could just display the values by caching them and then using the cached version, but this would lead to them not being consistent if changed inside. But it would be better than nothing. Put a BP at the start of the function and see the correct outside variable values then just note any changes. Of course, if you could do that then it probably wouldn't be hard to just get the addresses so one could get the actual values. If this is a limitation of D, could you ask any of the maintainers about getting the required info so it can be done? This is a sever limitation in D and makes debugging large programs impossible slow(orders of magnitude). To simulate this effect require usually requires that I create temp variables connecting the dots(e.g., using local variable that is assigned the value of the global). I have to add, run the program, then remove the bloat. This has to happen for any outside variable. I think though that Visual D can do this: Because Visual D can see the stack, I can click on some ancestor call and it will show the variables in it(the locals I guess).. So, really all Visual D needs to do is collect all that info and put it in the auto's. It seems to all be there, or at least a lot more. Ok, it's not quite the same because of captures are not going to work for function pointers(they capture a different context than what the call stack). Also, when visual D breaks due to an error, such as an assert, it doesn't jump to the actual line it says in the error message but usually, it seems, to the call location. This should be easy by juts matching the line number and source file in the error with that of the line/source in the program. The locations seem to accurately give the error but I have to manually go find it... sometimes it's in a different file making it slow. Also, many times errors due to something in my program end up opening up debug libraries saying the error is in them when it is not. It would be nice to have a sort of "debug my code only" like .NET has. Thanks.On Wednesday, 10 October 2018 at 06:37:33 UTC, Rainer Schuetze wrote:Do you have some test code that you can share?On 08/10/2018 19:55, Rainer Schuetze wrote:Oh man! Almost! It worked for about 3 minutes! I thought I was going to get somewhere! It got me with the stack frame bug.On 08/10/2018 17:16, James Japherson wrote:Please try the new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta2Basically I'm having lots of problems with 0.48. 1. I get that one error about the stack constantly. Usually happens when I hit '.' but sometimes not.I can reproduce with a combination of "static foreach" and "tupleof", I hope we can find a solution.I'm having a bigger problem though, not sure I think this is always been a problem with visual D. I can't see any outer variables in the debug windows. It seems lambda's and inner functions and global scope is never shown while in those scopes! This makes it very hard to debug them because one can't see the outside variables. One has to make a sort of local copy. e.g., int x = 3; // Won't be seen while in foo void foo() { // BP stopped here, can't see x in debug watches unless we do the following: int tmpx = x; }Unfortunately it has always been this way: dmd only emits the context pointer "this" as a void*, while it could be a struct containing the captured variables. LDC might behave a bit better here, but has other quirks. Globals can be watched by specifying the fully qualified name, no import/lookup information is available otherwise. (There is a workaround that allows them to be seen in D functions that are part of the same scope so lookup can be derived from the fully qualified function name).
Oct 10 2018
On 11/10/2018 01:05, James Japherson wrote:On Wednesday, 10 October 2018 at 17:40:49 UTC, Rainer Schuetze wrote:Some guesswork could be added. See also https://issues.dlang.org/show_bug.cgi?id=18882On 10/10/2018 09:21, James Japherson wrote:This makes it very difficult to do any debugging, basically impossible, when one is using lambdas and nesting functions and globals. It's like running blind. Delegates which capture the context are basically useless because you can never see that context in the debugger. Globals are somewhat useless because you can't see them in the debugger automatically(so you have to remember the name spelling, etc). Something should be done about this! Surely it is not a hard problem!On Wednesday, 10 October 2018 at 06:37:33 UTC, Rainer Schuetze wrote:Do you have some test code that you can share?On 08/10/2018 19:55, Rainer Schuetze wrote:Oh man! Almost! It worked for about 3 minutes! I thought I was going to get somewhere! It got me with the stack frame bug.On 08/10/2018 17:16, James Japherson wrote:Please try the new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta2Basically I'm having lots of problems with 0.48. 1. I get that one error about the stack constantly. Usually happens when I hit '.' but sometimes not.I can reproduce with a combination of "static foreach" and "tupleof", I hope we can find a solution.I'm having a bigger problem though, not sure I think this is always been a problem with visual D. I can't see any outer variables in the debug windows. It seems lambda's and inner functions and global scope is never shown while in those scopes! This makes it very hard to debug them because one can't see the outside variables. One has to make a sort of local copy. e.g., int x = 3; // Won't be seen while in foo void foo() { // BP stopped here, can't see x in debug watches unless we do the following: int tmpx = x; }Unfortunately it has always been this way: dmd only emits the context pointer "this" as a void*, while it could be a struct containing the captured variables. LDC might behave a bit better here, but has other quirks. Globals can be watched by specifying the fully qualified name, no import/lookup information is available otherwise. (There is a workaround that allows them to be seen in D functions that are part of the same scope so lookup can be derived from the fully qualified function name).Can hacks be done? Some way for visual D to get the context? Surely it knows the outer context because it can trace the stack. It should just have to work itself up the stack to get the locations of the functions and then, if it knows the stack structure(locals, which D should emit) then it can determine who and what and then add them to the watch as needed? After all, all we are talking about here is a Variable name, it's type, and it's value. I'm also mainly talking about the locals, auto, and watch. Locals could be true locals, auto could include the total context and watch could automatically determine context(do a match, search to find the watched name in any ancestral match, could list for multiple matches, although there should only ever be one since D does not allow shadowing). If this is too hard for Visual D, what does D itself need to make it happen? IMO, debugging is a real pain because of this. To debug I one has to know the values, but one cannot get the values. Even if Visual D had to use hacks, it is better than nothing. e.g., if Visual D could remember outer variables(not sure how unless it tracked each function call then it could just display the values by caching them and then using the cached version, but this would lead to them not being consistent if changed inside. But it would be better than nothing. Put a BP at the start of the function and see the correct outside variable values then just note any changes. Of course, if you could do that then it probably wouldn't be hard to just get the addresses so one could get the actual values. If this is a limitation of D, could you ask any of the maintainers about getting the required info so it can be done? This is a sever limitation in D and makes debugging large programs impossible slow(orders of magnitude). To simulate this effect require usually requires that I create temp variables connecting the dots(e.g., using local variable that is assigned the value of the global). I have to add, run the program, then remove the bloat. This has to happen for any outside variable. I think though that Visual D can do this: Because Visual D can see the stack, I can click on some ancestor call and it will show the variables in it(the locals I guess).. So, really all Visual D needs to do is collect all that info and put it in the auto's. It seems to all be there, or at least a lot more. Ok, it's not quite the same because of captures are not going to work for function pointers(they capture a different context than what the call stack).Because of this I think doing all the hacks above is not worth the trouble. It is a lot easier to fix it in the compiler, it just has to pass Walters debugger-phobia.Also, when visual D breaks due to an error, such as an assert, it doesn't jump to the actual line it says in the error message but usually, it seems, to the call location. This should be easy by juts matching the line number and source file in the error with that of the line/source in the program. The locations seem to accurately give the error but I have to manually go find it... sometimes it's in a different file making it slow.It is sometimes impossible to correctly walk thestack without complete debug information. This is probably related: https://issues.dlang.org/show_bug.cgi?id=17811Also, many times errors due to something in my program end up opening up debug libraries saying the error is in them when it is not. It would be nice to have a sort of "debug my code only" like .NET has.I guess this happens for templates that still get compiled into your object files with debug information. Or does it show disassembly for code without debug information? That might be easier to skip.
Oct 12 2018
On Wednesday, 10 October 2018 at 07:21:29 UTC, James Japherson wrote:On Wednesday, 10 October 2018 at 06:37:33 UTC, Rainer Schuetze wrote:Also, It seems that break points are not hit within meta code. If one uses static ifs much then one can't debug them. I realize that some of the code is compiled out, but that code can't create runtime bugs(because it was compiled out).. So the remaining code from using the static code can still be compiled. Basically the compiler needs to keep track of static compile time code it optimizes out and sent that info to the debugger so it knows that there was suppose to be code there and where the actual run time code that was inside the static code went... static if (...) // CT code, won't exist in binary but compiler can still emit it, basically pretending it exists as an if statement. { int x = 43; // RT code, exists in the binary, should have a line number and BP cabable. We can put a BP on the static if and it should at least end here. }On 08/10/2018 19:55, Rainer Schuetze wrote:Oh man! Almost! It worked for about 3 minutes! I thought I was going to get somewhere! It got me with the stack frame bug. I'm having a bigger problem though, not sure I think this is always been a problem with visual D. I can't see any outer variables in the debug windows. It seems lambda's and inner functions and global scope is never shown while in those scopes! This makes it very hard to debug them because one can't see the outside variables. One has to make a sort of local copy. e.g., int x = 3; // Won't be seen while in foo void foo() { // BP stopped here, can't see x in debug watches unless we do the following: int tmpx = x; } -- Best I can tell is that the stack frame bug occurs much less. Maybe 1/10th of the time(before it was every few seconds, now it's every minute maybe(although it might get worse after it gets worse).On 08/10/2018 17:16, James Japherson wrote:Please try the new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta2Basically I'm having lots of problems with 0.48. 1. I get that one error about the stack constantly. Usually happens when I hit '.' but sometimes not.I can reproduce with a combination of "static foreach" and "tupleof", I hope we can find a solution.
Oct 10 2018
It seems to be happening mainly on runs. Might help narrow it down.
Oct 10 2018
It did start speeding up on me and got within several times a second. Wasn't doing it on run so that might have been coincidences before.
Oct 10 2018
I have just released a new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta3 Changes: - VDServer refactoring - experimental: option to enable semantic identifier highlighting (see Tools->Options->Text Editor->D->Editor page) - mago: - fix crash in VS if a value is marked expandable, but doesn't yield any children - fix .ptr property of static array if it is a struct/class member - add option to disable strings to be expandable - support showing closure and capture variables as locals for dmd 2.084 (nightlies) On 05/10/2018 14:41, Rainer Schuetze wrote:Hi, I have prepared a beta for the next release of Visual D. Here are some highlights: - fixed installation/uninstallation issues in VS2017 - new VC project: allow adding C++ skeleton, fix some default settings - settings: removed some legacy settings and made scope clearer - dparser: support for "static foreach", fixed "find references", experimental "show value of constants in tooltip" - mago: fix crash in VS2017, shows return values of functions stepped over - fixed "Compile and Run" on selection - fixed help via F1 You can find the installer and more details here: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta1 Rainer
Nov 10 2018
On Saturday, 10 November 2018 at 08:50:53 UTC, Rainer Schuetze wrote:I have just released a new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta3 Changes: - VDServer refactoring - experimental: option to enable semantic identifier highlighting (see Tools->Options->Text Editor->D->Editor page) - mago: - fix crash in VS if a value is marked expandable, but doesn't yield any children - fix .ptr property of static array if it is a struct/class member - add option to disable strings to be expandable - support showing closure and capture variables as locals for dmd 2.084 (nightlies) On 05/10/2018 14:41, Rainer Schuetze wrote:I'm getting the "This breakpoint will not be hit. No symbols have been loaded" error after updating again. Seems something broke? dmdx86 Seems this is a reoccurring problem?Hi, I have prepared a beta for the next release of Visual D. Here are some highlights: - fixed installation/uninstallation issues in VS2017 - new VC project: allow adding C++ skeleton, fix some default settings - settings: removed some legacy settings and made scope clearer - dparser: support for "static foreach", fixed "find references", experimental "show value of constants in tooltip" - mago: fix crash in VS2017, shows return values of functions stepped over - fixed "Compile and Run" on selection - fixed help via F1 You can find the installer and more details here: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta1 Rainer
Nov 12 2018
On 13/11/2018 02:23, Nierjerson wrote:On Saturday, 10 November 2018 at 08:50:53 UTC, Rainer Schuetze wrote:I am not aware of changes in that area, but who knows... It worked and still works with beta2? With dmdx86 you mean building for Win32 OMF (COFF output disabled)? What debug engine? Does it report converting the debug information while building (see debug options)?I have just released a new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta3I'm getting the "This breakpoint will not be hit. No symbols have been loaded" error after updating again. Seems something broke? dmdx86 Seems this is a reoccurring problem?
Nov 13 2018
rc1 is now available: https://github.com/dlang/visuald/releases/tag/v0.48.0-rc1 Changes from beta3: * build system - fixed linking privatephobos.lib if intermediate dir different from output dir * mago - add option to disable strings to be expandable - support showing closure and capture variables as locals for dmd 2.084/nightly * editor - added outlining for case statements - implemented commands View.PopBrowsContext and ForwardBrowseContext - reindent if multiple lines added by completion - tweaked formatting for enumerators, struct and array initializers - added option to not indent case statements Please report issues and regressions here or for component visuald at https://issues.dlang.org/ Rainer On 10/11/2018 09:50, Rainer Schuetze wrote:I have just released a new beta: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta3 Changes: - VDServer refactoring - experimental: option to enable semantic identifier highlighting (see Tools->Options->Text Editor->D->Editor page) - mago: - fix crash in VS if a value is marked expandable, but doesn't yield any children - fix .ptr property of static array if it is a struct/class member - add option to disable strings to be expandable - support showing closure and capture variables as locals for dmd 2.084 (nightlies) On 05/10/2018 14:41, Rainer Schuetze wrote:Hi, I have prepared a beta for the next release of Visual D. Here are some highlights: - fixed installation/uninstallation issues in VS2017 - new VC project: allow adding C++ skeleton, fix some default settings - settings: removed some legacy settings and made scope clearer - dparser: support for "static foreach", fixed "find references", experimental "show value of constants in tooltip" - mago: fix crash in VS2017, shows return values of functions stepped over - fixed "Compile and Run" on selection - fixed help via F1 You can find the installer and more details here: https://github.com/dlang/visuald/releases/tag/v0.48.0-beta1 Rainer
Nov 24 2018
On Saturday, 24 November 2018 at 13:54:57 UTC, Rainer Schuetze wrote:rc1 is now availableThanks!
Nov 25 2018
Hi Rainer, I wasn't sure exactly where to ask this, but I figured this is was as good of a place as any. The new C++/D Project template looks absolutely amazing, it has never been this easy to get started with a C++ main function that can call D, especially on Windows. I was wondering how exactly this works in the background though, are you compiling to .obj files with the different compilers (MSVC+DMD) and then passing it to the linker, or are you creating a D static library and linking it that way behind the scenes? I looked at the .vcxproj file and it looks very similar to "regular" .vcxproj files, could I edit my already existing C++ project (that uses a non-standard project template with a custom compiler, not MSVC) and just add the D parts and convert a C++ project to C++/D that way? This might just be the last step needed to get more game developers to follow Remedy and start using D in their engines (alongside C++ at first), assuming that it actually is that easy to do with any kind of C++ project. I'll stick around the #d IRC channel if you have any specific questions about what it is I want to do, but I'm not sure how much I should say here.
Dec 12 2018
On 12/12/2018 11:25, Markus Pursche wrote:Hi Rainer, I wasn't sure exactly where to ask this, but I figured this is was as good of a place as any. The new C++/D Project template looks absolutely amazing, it has never been this easy to get started with a C++ main function that can call D, especially on Windows. I was wondering how exactly this works in the background though, are you compiling to .obj files with the different compilers (MSVC+DMD) and then passing it to the linker, or are you creating a D static library and linking it that way behind the scenes?Visual D adds a new task "CompileD" to msbuild together with a new "Item Type" that gets automatically assigned to items with extension .d. This task creates object files that are added to the linker command line in addition to some additional options like library search paths.I looked at the .vcxproj file and it looks very similar to "regular" .vcxproj files, could I edit my already existing C++ project (that uses a non-standard project template with a custom compiler, not MSVC) and just add the D parts and convert a C++ project to C++/D that way?You can just drag a .d file into any VC project to integrate it with compilation and linkage. The D compiler options page will appear automatically. (Depending on what your code does you might have to add the phobos library to the linker settings, but it is supposed to be automatic, too).This might just be the last step needed to get more game developers to follow Remedy and start using D in their engines (alongside C++ at first), assuming that it actually is that easy to do with any kind of C++ project. I'll stick around the #d IRC channel if you have any specific questions about what it is I want to do, but I'm not sure how much I should say here.
Dec 12 2018
Small request on the latest release. You added the ability to collapse case statements, which is nice. The only problem I'm having which is just annoying more than anything else is that the collapse bleeds over to the next case statement's header comments: case 1: .... break; // Case 2 case2: When collapsing case 1, the comment will get folded along with it. As a simple work around I suggest: You go to the next case(or default or closing }) and then backtrack to fight the last return, break, throw, or goto and then everything in between will either go with the second case, or be split up based "closeness" to the case statement. the idea is to handle footer comments of the previous case: case 1: .... break; // that was case 1 // Case 2 case2: Here the nl will break the two apart but mainly because // Case 2 is right next to case 2. Or simply attack all connected comments preceding the case statement to the case statement(within scope of course). Thanks.. Seems VD is starting to shape up! ;)
Dec 13 2018
On 14/12/2018 03:25, Michelle Long wrote:Small request on the latest release. You added the ability to collapse case statements, which is nice. The only problem I'm having which is just annoying more than anything else is that the collapse bleeds over to the next case statement's header comments: case 1: .... break; // Case 2 case2: When collapsing case 1, the comment will get folded along with it. As a simple work around I suggest: You go to the next case(or default or closing }) and then backtrack to fight the last return, break, throw, or goto and then everything in between will either go with the second case, or be split up based "closeness" to the case statement. the idea is to handle footer comments of the previous case: case 1: .... break; // that was case 1 // Case 2 case2: Here the nl will break the two apart but mainly because // Case 2 is right next to case 2. Or simply attack all connected comments preceding the case statement to the case statement(within scope of course). Thanks.. Seems VD is starting to shape up! ;)Yes, keeping the comment above the case makes sense. I guess it's very uncommon to have a comment after the end of the previous case block (or almost any block), but the newline rule sounds good, too. In C++ I tend to add "// fallthrough" right there if I actually don't want to break, but that's not how it works in D.
Dec 14 2018