www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - D on Visual Studio?

reply kmd <KeeperMustDie gmail.com> writes:
Hi, does someone know how soon there will be D plug in for MS Visual Studio
2005(2008 maybe)? Maybe there is one already?
Sep 10 2007
next sibling parent BCS <ao pathlink.com> writes:
Reply to kmd,

 Hi, does someone know how soon there will be D plug in for MS Visual
 Studio 2005(2008 maybe)? Maybe there is one already?
 

there is one. Kida Sorts. Look at dsource.org under projects. I forget what it's called and a running to late to go find it.
Sep 10 2007
prev sibling parent reply Xinok <xnknet gmail.com> writes:
http://www.dsource.org/projects/vsplugind

This is the only one I know of. This plugin is out of date, buggy, and 
has very few features.

kmd wrote:
 Hi, does someone know how soon there will be D plug in for MS Visual Studio
2005(2008 maybe)? Maybe there is one already?

Sep 10 2007
parent reply "Vladimir Panteleev" <thecybershadow gmail.com> writes:
On Mon, 10 Sep 2007 18:16:48 +0300, Xinok <xnknet gmail.com> wrote:

 http://www.dsource.org/projects/vsplugind

 This is the only one I know of. This plugin is out of date, buggy, and
 has very few features.

A certain Nathan Petrelli once said that he knows a company that's developing a commercial D IDE-plugin for Visual Studio. There hasn't been any news about it since then, so either it's taking some time, or it was cancelled (or perhaps it was completely vaporware). Links: http://www.digitalmars.com/d/archives/digitalmars/D/Commercial_IDE_for_D_51184.html#N51238 http://www.digitalmars.com/d/archives/digitalmars/D/Re_Commercial_IDE_for_D_51249.html -- Best regards, Vladimir mailto:thecybershadow gmail.com
Sep 10 2007
parent reply Downs <default_357-line yahoo.de> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Vladimir Panteleev wrote:
 On Mon, 10 Sep 2007 18:16:48 +0300, Xinok <xnknet gmail.com> wrote:
 
 http://www.dsource.org/projects/vsplugind

 This is the only one I know of. This plugin is out of date, buggy, and
 has very few features.

A certain Nathan Petrelli once said that he knows a company that's developing a commercial D IDE-plugin for Visual Studio. There hasn't been any news about it since then, so either it's taking some time, or it was cancelled (or perhaps it was completely vaporware). Links: http://www.digitalmars.com/d/archives/digitalmars/D/Commercial_IDE_for_D_51184.html#N51238 http://www.digitalmars.com/d/archives/digitalmars/D/Re_Commercial_IDE_for_D_51249.html

See also, http://heroeswiki.com/Nathan_Petrelli Nice reference though. Heroes FTW! --downs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG5XNppEPJRr05fBERAjXQAJ96QVWbJzvIxqyUegjMmVKqrzftoQCfQEbd PgEkTlDARcQSJgrogu0fsQg= =C410 -----END PGP SIGNATURE-----
Sep 10 2007
next sibling parent Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
Downs wrote:
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
 Vladimir Panteleev wrote:
 On Mon, 10 Sep 2007 18:16:48 +0300, Xinok <xnknet gmail.com> wrote:

 http://www.dsource.org/projects/vsplugind

 This is the only one I know of. This plugin is out of date, buggy, and
 has very few features.

Links: http://www.digitalmars.com/d/archives/digitalmars/D/Commercial_IDE_for_D_51184.html#N51238 http://www.digitalmars.com/d/archives/digitalmars/D/Re_Commercial_IDE_for_D_51249.html

See also, http://heroeswiki.com/Nathan_Petrelli Nice reference though. Heroes FTW! --downs -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG5XNppEPJRr05fBERAjXQAJ96QVWbJzvIxqyUegjMmVKqrzftoQCfQEbd PgEkTlDARcQSJgrogu0fsQg= =C410 -----END PGP SIGNATURE-----

Some people sign with nicks instead of names (I don't here, but I do on dsource for example), so just because of that doesn't mean the person is fake or lying. Still, I think it's highly likely that IDE is vaporware. -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Sep 11 2007
prev sibling parent reply kmd <KeeperMustDie gmail.com> writes:
Thanks, I'll check it. Still I wish that D would fully work on VS. It can
improve D language popularity greatly. I think D really good language but I
using only VS as editor.
Sep 11 2007
parent reply "Martin Fuchs" <martin-fuchs gmx.net> writes:
"kmd" <KeeperMustDie gmail.com> wrote in message 
news:fc6kmu$gh$1 digitalmars.com...
 Thanks, I'll check it. Still I wish that D would fully work on VS. It can
 improve D language popularity greatly. I think D really good language
 but I using only VS as editor.

What is really missing for D to become usable in bigger projects is an integrated development environment with a working debugger. This is what I understand by a *working* integrated debugger: a.) You should be able to set breakpoints directly in the source code, halt the program at this breakpoints, step into the debugee, set new breakpoints, etc. All a sensible debugger is able to do. ;-) This is currently partly possible with the VC++ IDE, as it can read in the debugging info of the D compiler in OMF format (same as with windbg). However it seems, this doesn't work all times. Setting breakpoints in an IDE may also be possible with GDB based debuggers on Linux if using GDC, however I didn't try this yet. b.) You should be able to display the current values of all variables in a debugged program. This debugging info is not complete or can not displayed completely within the debuggers - I am not sure what's all missing here. But this is an important point, which makes debugger sessions for D programs *useless* todays, because you can only see simple variables like e.g. that if type "int". And who wants to start development if he can't find and fix bugs in a convenient way? Inserting printf calls to display the current variables can't be the solution. So who will extend D debugging info and/or starts a project for extending an IDE like Visual Studio to be able to overcome the current shortcomings?! Regards, Martin
Sep 11 2007
next sibling parent reply BCS <ao pathlink.com> writes:
Reply to Martin,

 "kmd" <KeeperMustDie gmail.com> wrote in message
 news:fc6kmu$gh$1 digitalmars.com...
 
 Thanks, I'll check it. Still I wish that D would fully work on VS. It
 can
 improve D language popularity greatly. I think D really good language
 but I using only VS as editor.

integrated development environment with a working debugger. This is what I understand by a *working* integrated debugger: a.) You should be able to set breakpoints directly in the source code, halt the program at this breakpoints, step into the debugee, set new breakpoints, etc. All a sensible debugger is able to do. ;-) This is currently partly possible with the VC++ IDE, as it can read in the debugging info of the D compiler in OMF format (same as with windbg). However it seems, this doesn't work all times. Setting breakpoints in an IDE may also be possible with GDB based debuggers on Linux if using GDC, however I didn't try this yet. b.) You should be able to display the current values of all variables in a debugged program. This debugging info is not complete or can not displayed completely within the debuggers - I am not sure what's all missing here. But this is an important point, which makes debugger sessions for D programs *useless* todays, because you can only see simple variables like e.g. that if type "int". And who wants to start development if he can't find and fix bugs in a convenient way? Inserting printf calls to display the current variables can't be the solution. So who will extend D debugging info and/or starts a project for extending an IDE like Visual Studio to be able to overcome the current shortcomings?! Regards, Martin

There is DDBG that works under code blocks. Most of item a is available and much of item b is there but not integrated (expression work but aren't available from the IDE, watches don't work etc.) There is room for improvment but it's a start
Sep 11 2007
parent reply "Martin Fuchs" <martin-fuchs gmx.net> writes:
 There is DDBG that works under code blocks. Most of item a is available 
 and much of item b is there but not integrated (expression work but aren't 
 available from the IDE, watches don't work etc.)

 There is room for improvment but it's a start

Well, I tried Code::Blocks and the DDBG integration with the current development snapshot. First of all I must say, I had some hassles setting up the environment to build and debug a test program: - There was missing the -g linker option in the default debug settings of Code::Blocks. - To configure the debugger I had to specify the GDB wrapper script "ddbg_gdb.bat" instead of "ddbg.exe" itself in code block's toolchain configuration. OK, now I can build D programs and launch thd ddbg debugger in Code::Blocks. But what I am still missing is: You can't see the contents of all varaiables. For example it isn't even possible to display strings and array variables in the watch window. This is what I described in my initial post. So again: What exactly is the problem - Is there only missing some extension to display complex types in the debugger or is the information completely missing in the debug information generated by the compiler? If it's only a debugger display program, it's only a matter of time when the goal will be reached. In the second case it might require a completely new debug info format. So the compiler *and* the debugger would require some rewrite.
Sep 12 2007
next sibling parent reply Jascha Wetzel <"[firstname]" mainia.de> writes:
Martin Fuchs wrote:
 OK, now I can build D programs and launch thd ddbg debugger in Code::Blocks.
 But what I am still missing is:
 
 You can't see the contents of all varaiables. For example it isn't even 
 possible to display strings and array variables in the watch window.

i don't know about the latest codeblocks version but it used to work. codeblocks has a hand full of bugs in the display of watch variables. you can try other frontends for ddbg if codeblocks doesn't work properly.
 This is what I described in my initial post. So again: What exactly is the 
 problem - Is there only missing some extension to display complex types in 
 the debugger or is the information completely missing in the debug 
 information generated by the compiler? If it's only a debugger display 
 program, it's only a matter of time when the goal will be reached. In the 
 second case it might require a completely new debug info format. So the 
 compiler *and* the debugger would require some rewrite. 

the debug information and the debugger are fine. it's the frontend that doesn't display the debugger's output correctly. if in doubt, try using ddbg from the command line.
Sep 12 2007
parent reply "Martin Fuchs" <martin-fuchs gmx.net> writes:
 the debug information and the debugger are fine. it's the frontend that
 doesn't display the debugger's output correctly. if in doubt, try using
 ddbg from the command line.

Sorry, if I have to disappoint you. Please try to debug this simple test program: import std.stdio; import pi; int main(char[][] args) { char s[] = "test 123"; writefln("string value before truncate: %s\n", s); s.length = 2; writefln("string value after truncate: %s\n", s); return 0; } When displaying the value of the 's'-variable, the debugger just prints "18401976358273026" instead of the string content. It seems it handles pointer/array values as values of type "ulong" and only displays the memory address. This is all the same in Eclipse/descent, in Code::Blocks and on the command line using ddbg.exe. The same problem applies not only to strings, but also for example to int[] arrays. For example look at the "pi.d" example code and try to display the 'p' and 't' array contents in the debugger.
Sep 12 2007
parent "Martin Fuchs" <martin-fuchs gmx.net> writes:
 When displaying the value of the 's'-variable, the debugger just prints 
 "18401976358273026" instead of the string content. It seems it handles 
 pointer/array values as values of type "ulong" and only displays the 
 memory address. This is all the same in Eclipse/descent, in Code::Blocks 
 and on the command line using ddbg.exe.
 The same problem applies not only to strings, but also for example to 
 int[] arrays. For example look at the "pi.d" example code and try to 
 display the 'p' and 't' array contents in the debugger.

Ooop, I must apologize a bit. I found my problem: There was an older version (January 2007) of the DMD compiler in my path, which seems to generate incomplete debug information. Using the current version, I can now also evaluate strings and arrays - with Descent and also in CodeBlocks. May be I can now start writing some usefull D programs, as there are now "only" missing some extended capabilities like "quick view", variable evaluation in tooltips, smart code completition, ... in the D IDEs. ;-)
Sep 12 2007
prev sibling parent Ary Manzana <ary esperanto.org.ar> writes:
As Robert Fraser said, you should try Descent. It displays the contents 
of all variables, and in a nice format if you are using ddbg (i.e.: 
strings are shown as strings, nested members appear, etc.). To do that, 
i advice you to read: 
http://dsource.org/projects/descent/wiki/DebuggingPrograms

(also check the screenshots)

Martin Fuchs escribió:
 There is DDBG that works under code blocks. Most of item a is available 
 and much of item b is there but not integrated (expression work but aren't 
 available from the IDE, watches don't work etc.)

 There is room for improvment but it's a start

Well, I tried Code::Blocks and the DDBG integration with the current development snapshot. First of all I must say, I had some hassles setting up the environment to build and debug a test program: - There was missing the -g linker option in the default debug settings of Code::Blocks. - To configure the debugger I had to specify the GDB wrapper script "ddbg_gdb.bat" instead of "ddbg.exe" itself in code block's toolchain configuration. OK, now I can build D programs and launch thd ddbg debugger in Code::Blocks. But what I am still missing is: You can't see the contents of all varaiables. For example it isn't even possible to display strings and array variables in the watch window. This is what I described in my initial post. So again: What exactly is the problem - Is there only missing some extension to display complex types in the debugger or is the information completely missing in the debug information generated by the compiler? If it's only a debugger display program, it's only a matter of time when the goal will be reached. In the second case it might require a completely new debug info format. So the compiler *and* the debugger would require some rewrite.

Sep 12 2007
prev sibling parent reply Robert Fraser <fraserofthenight gmail.com> writes:
Martin Fuchs Wrote:

 "kmd" <KeeperMustDie gmail.com> wrote in message 
 news:fc6kmu$gh$1 digitalmars.com...
 Thanks, I'll check it. Still I wish that D would fully work on VS. It can
 improve D language popularity greatly. I think D really good language
 but I using only VS as editor.

What is really missing for D to become usable in bigger projects is an integrated development environment with a working debugger. This is what I understand by a *working* integrated debugger: a.) You should be able to set breakpoints directly in the source code, halt the program at this breakpoints, step into the debugee, set new breakpoints, etc. All a sensible debugger is able to do. ;-) This is currently partly possible with the VC++ IDE, as it can read in the debugging info of the D compiler in OMF format (same as with windbg). However it seems, this doesn't work all times. Setting breakpoints in an IDE may also be possible with GDB based debuggers on Linux if using GDC, however I didn't try this yet. b.) You should be able to display the current values of all variables in a debugged program. This debugging info is not complete or can not displayed completely within the debuggers - I am not sure what's all missing here. But this is an important point, which makes debugger sessions for D programs *useless* todays, because you can only see simple variables like e.g. that if type "int". And who wants to start development if he can't find and fix bugs in a convenient way? Inserting printf calls to display the current variables can't be the solution. So who will extend D debugging info and/or starts a project for extending an IDE like Visual Studio to be able to overcome the current shortcomings?! Regards, Martin

Not to advertise or anything, but such an IDE does exist: http://www.dsource.org/projects/descent . In fact, I think some of the other IDEs (Code::Blocks or Poseidon, maybe?) have those features, too.
Sep 11 2007
parent reply "Martin Fuchs" <martin-fuchs gmx.net> writes:
 Not to advertise or anything, but such an IDE does exist:
 http://www.dsource.org/projects/descent .
 In fact, I think some of the other IDEs (Code::Blocks or Poseidon, maybe?)
 have those features, too.

OK, Descent is quite usefull to write code in Eclipse with its convenient source code editor. But what's missing here is the integration with Eclipse's build system: You have to use rebuild.exe of DSSS in an aditional external build configuration in order to compile your source code. Launching and debugging the executable is also nit quite forward: You have to setup the launch configuration by hand, the default behavior is not correct. And when using the debugger DDBG in Eclipse, the same problems as in Code::Blocks apply: Evaluating expressions works only for some very basic variable types. If you want to display global variables, you have to prefix the variable name with the module name by hand. So currently it's all not quite ready to be used without problems. And in no way comparable to using the VC++ IDE for C++ programs.
Sep 12 2007
parent reply Ary Manzana <ary esperanto.org.ar> writes:
All of this is currently work in progress in Descent... Yes, you are 
right, a tool like what you describe is really needed for me too, and it 
doesn't exist yet... That's why we are making it. :-)

Martin Fuchs escribió:
 Not to advertise or anything, but such an IDE does exist:
 http://www.dsource.org/projects/descent .
 In fact, I think some of the other IDEs (Code::Blocks or Poseidon, maybe?)
 have those features, too.

OK, Descent is quite usefull to write code in Eclipse with its convenient source code editor. But what's missing here is the integration with Eclipse's build system: You have to use rebuild.exe of DSSS in an aditional external build configuration in order to compile your source code. Launching and debugging the executable is also nit quite forward: You have to setup the launch configuration by hand, the default behavior is not correct. And when using the debugger DDBG in Eclipse, the same problems as in Code::Blocks apply: Evaluating expressions works only for some very basic variable types. If you want to display global variables, you have to prefix the variable name with the module name by hand. So currently it's all not quite ready to be used without problems. And in no way comparable to using the VC++ IDE for C++ programs.

Sep 12 2007
parent kmd <KeeperMustDie gmail.com> writes:
Ary Manzana Wrote:

 All of this is currently work in progress in Descent... Yes, you are 
 right, a tool like what you describe is really needed for me too, and it 
 doesn't exist yet... That's why we are making it. :-)

Descent ui download link broken.
Sep 13 2007