www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Descent 0.5 released

reply Ary Borenszweig <ary esperanto.org.ar> writes:
The Descent plugin for Eclipse provides an IDE for writing, launching 
and debugging code in D.

Explanations on how to get it from within Eclipse are here:

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

The new features for this release are:
  - Full autocompletion, which also writes the imports for you. No need 
to remember where that class or function you are looking for is located. 
Just start writing the name of it, press ctrl+space, select the 
suggestion, and the import is added at the top of the module 
automatically (no need to critic Tango anymore :-P). External variables 
does not participate in import-adding, because there are *so* many 
public ones...
  - Go to definition. It even works for opCall and magic array 
functions. :-)
  - Semantic highlighting: you can choose to color aliases, typdefs, 
classes, structs, interfaces, unions, templates, local variables, 
functions and function calls, etc., with different colors.
  - Showing of semantic errors. By default, some semantic errors are 
shown, like undefined identifiers or unresolved types. You can turn this 
off, or you can enable full semantic error reporting (but it will 
probably lie in some cases, that's why the default is "some"). It is 
recommended to turn this off for existing big projects, as it may cause 
more trouble than help.
  - Compile-time evaluation of functions and other properties: hovering 
over an element while holding ctrl+shift shows it's compile-time value. 
You can use this for built-in properties like init, min, max, sizeof, 
alignof, stringof, mangleof, length, constants, enum values and function 
calls (try writing a factorial function, then invoke it with a constant 
value somewhere in the code, and ctrl+shift+hover over the call). If the 
result of the evaluation is a string, and it is likely a declaration, it 
will have syntax highlighting and will be formatted according to your 
formatter preferences. This is useful for seeing the string passed to a 
mixin.
  - Graying out of inactive code: shows in gray code that is not 
reachable because of debug or version levels/identifiers and static ifs 
that evaluate to false.
  - Improved occurrences finder: selecting a token highlights all other 
tokens with the same semantic meaning. Then, pressing ctrl+2, r, allows 
you to rename all those occurrences. Very useful for renaming local 
variables, functions and types.
  - Declaration view: shows the source of the element under the cursor.

For current users: after you update the plugin, go to Windows -> 
Preferences, D -> Compiler, and change any setting. It will ask you to 
rebuild everything. You'll need to do this since I've changed the format 
of the indexes for searching stuff. Otherwise you'll get errors, or some 
things won't work.

And now, my personal comments about the current specification of D about 
developing an IDE for it:
  - Difficulty to suggest autocompletion for getters, and in particular 
setters. There's nothing in the language that says "this function is 
meant to be used as a setter". So currently, if you autocomplete a 
method that looks like a setter, you will get something like this: 
"var.member = |foo|", where you can start overwriting |foo|. While 
testing Descent, I found more setters that "procedures", and thus this 
decision.
  - Public imports are bad, bad, anyway you see it: they polute the 
global namespace, they make compilation slower (and also an IDE slower), 
they make finding the definition of a symbol harder (well, if you don't 
use an IDE). So if you use import foo.all, forget about getting good 
performance in Descent. Anyway, you won't need to use that, because 
Descent writes the imports for you.

Finally, as always with such an ambitious project, we need help! We're 
looking for testers, documentation writers, translators, and most of all 
developers. If you're interested in helping out, check out this page, 
which summarizes what we're looking for:

http://www.dsource.org/projects/descent/wiki/Development

Any suggestion, critic or bug report is welcome. You can use:
- the forums: http://www.dsource.org/forums/viewforum.php?f=107
- trac: http://www.dsource.org/projects/descent/report?action=new
Feb 03 2008
next sibling parent "Kris" <foo bar.com> writes:
Awesome project ... nice work you guys :)


"Ary Borenszweig" <ary esperanto.org.ar> wrote in message 
news:fo63qt$8a2$1 digitalmars.com...
 The Descent plugin for Eclipse provides an IDE for writing, launching and 
 debugging code in D.

 Explanations on how to get it from within Eclipse are here:

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

 The new features for this release are:
  - Full autocompletion, which also writes the imports for you. No need to 
 remember where that class or function you are looking for is located. Just 
 start writing the name of it, press ctrl+space, select the suggestion, and 
 the import is added at the top of the module automatically (no need to 
 critic Tango anymore :-P). External variables does not participate in 
 import-adding, because there are *so* many public ones...
  - Go to definition. It even works for opCall and magic array functions. 
 :-)
  - Semantic highlighting: you can choose to color aliases, typdefs, 
 classes, structs, interfaces, unions, templates, local variables, 
 functions and function calls, etc., with different colors.
  - Showing of semantic errors. By default, some semantic errors are shown, 
 like undefined identifiers or unresolved types. You can turn this off, or 
 you can enable full semantic error reporting (but it will probably lie in 
 some cases, that's why the default is "some"). It is recommended to turn 
 this off for existing big projects, as it may cause more trouble than 
 help.
  - Compile-time evaluation of functions and other properties: hovering 
 over an element while holding ctrl+shift shows it's compile-time value. 
 You can use this for built-in properties like init, min, max, sizeof, 
 alignof, stringof, mangleof, length, constants, enum values and function 
 calls (try writing a factorial function, then invoke it with a constant 
 value somewhere in the code, and ctrl+shift+hover over the call). If the 
 result of the evaluation is a string, and it is likely a declaration, it 
 will have syntax highlighting and will be formatted according to your 
 formatter preferences. This is useful for seeing the string passed to a 
 mixin.
  - Graying out of inactive code: shows in gray code that is not reachable 
 because of debug or version levels/identifiers and static ifs that 
 evaluate to false.
  - Improved occurrences finder: selecting a token highlights all other 
 tokens with the same semantic meaning. Then, pressing ctrl+2, r, allows 
 you to rename all those occurrences. Very useful for renaming local 
 variables, functions and types.
  - Declaration view: shows the source of the element under the cursor.

 For current users: after you update the plugin, go to Windows -> 
 Preferences, D -> Compiler, and change any setting. It will ask you to 
 rebuild everything. You'll need to do this since I've changed the format 
 of the indexes for searching stuff. Otherwise you'll get errors, or some 
 things won't work.

 And now, my personal comments about the current specification of D about 
 developing an IDE for it:
  - Difficulty to suggest autocompletion for getters, and in particular 
 setters. There's nothing in the language that says "this function is meant 
 to be used as a setter". So currently, if you autocomplete a method that 
 looks like a setter, you will get something like this: "var.member = 
 |foo|", where you can start overwriting |foo|. While testing Descent, I 
 found more setters that "procedures", and thus this decision.
  - Public imports are bad, bad, anyway you see it: they polute the global 
 namespace, they make compilation slower (and also an IDE slower), they 
 make finding the definition of a symbol harder (well, if you don't use an 
 IDE). So if you use import foo.all, forget about getting good performance 
 in Descent. Anyway, you won't need to use that, because Descent writes the 
 imports for you.

 Finally, as always with such an ambitious project, we need help! We're 
 looking for testers, documentation writers, translators, and most of all 
 developers. If you're interested in helping out, check out this page, 
 which summarizes what we're looking for:

 http://www.dsource.org/projects/descent/wiki/Development

 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new 

Feb 03 2008
prev sibling next sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
Awesomeness. Thank you for the hard work, looks like Descent is a *major*
contribution to the development tools for D. Very exciting to see it
evolve.
Feb 04 2008
prev sibling next sibling parent Aarti_pl <aarti interia.pl> writes:
Ary Borenszweig pisze:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

Great work! Thanks! BR Marcin Kuszczak Aarti_pl
Feb 04 2008
prev sibling next sibling parent reply Extrawurst <spam extrawurst.org> writes:
what is the minimal eclipse download one has to choose to be able to use 
descent ?
Feb 04 2008
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Extrawurst escribió:
 what is the minimal eclipse download one has to choose to be able to use 
 descent ?

Eclipse >= 3.2.1 and Java >= 1.5. See http://www.dsource.org/projects/descent/wiki/Installing
Feb 04 2008
parent Extrawurst <spam extrawurst.org> writes:
sure as if i did not look at this installing page.. the problem is, i 
never ever used eclipse and if i am representing the silly eclipse noob 
i am unsure what of the thousand possible download packages to choose 
from the eclipse download page. but after trying the standard java crap 
i tried the biggest package available and it worked... thanks



Ary Borenszweig schrieb:
 Extrawurst escribió:
 what is the minimal eclipse download one has to choose to be able to 
 use descent ?

Eclipse >= 3.2.1 and Java >= 1.5. See http://www.dsource.org/projects/descent/wiki/Installing

Feb 04 2008
prev sibling next sibling parent reply Extrawurst <spam extrawurst.org> writes:
looks like an awesome feature list! respect!
i have just one question, is the D2.x language supported aswell with all 
the nifty features?


Ary Borenszweig schrieb:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

 Explanations on how to get it from within Eclipse are here:

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

 The new features for this release are:
  - Full autocompletion, which also writes the imports for you. No need 
 to remember where that class or function you are looking for is 
 located. Just start writing the name of it, press ctrl+space, select 
 the suggestion, and the import is added at the top of the module 
 automatically (no need to critic Tango anymore :-P). External 
 variables does not participate in import-adding, because there are 
 *so* many public ones...
  - Go to definition. It even works for opCall and magic array 
 functions. :-)
  - Semantic highlighting: you can choose to color aliases, typdefs, 
 classes, structs, interfaces, unions, templates, local variables, 
 functions and function calls, etc., with different colors.
  - Showing of semantic errors. By default, some semantic errors are 
 shown, like undefined identifiers or unresolved types. You can turn 
 this off, or you can enable full semantic error reporting (but it will 
 probably lie in some cases, that's why the default is "some"). It is 
 recommended to turn this off for existing big projects, as it may 
 cause more trouble than help.
  - Compile-time evaluation of functions and other properties: hovering 
 over an element while holding ctrl+shift shows it's compile-time 
 value. You can use this for built-in properties like init, min, max, 
 sizeof, alignof, stringof, mangleof, length, constants, enum values 
 and function calls (try writing a factorial function, then invoke it 
 with a constant value somewhere in the code, and ctrl+shift+hover over 
 the call). If the result of the evaluation is a string, and it is 
 likely a declaration, it will have syntax highlighting and will be 
 formatted according to your formatter preferences. This is useful for 
 seeing the string passed to a mixin.
  - Graying out of inactive code: shows in gray code that is not 
 reachable because of debug or version levels/identifiers and static 
 ifs that evaluate to false.
  - Improved occurrences finder: selecting a token highlights all other 
 tokens with the same semantic meaning. Then, pressing ctrl+2, r, 
 allows you to rename all those occurrences. Very useful for renaming 
 local variables, functions and types.
  - Declaration view: shows the source of the element under the cursor.

 For current users: after you update the plugin, go to Windows -> 
 Preferences, D -> Compiler, and change any setting. It will ask you to 
 rebuild everything. You'll need to do this since I've changed the 
 format of the indexes for searching stuff. Otherwise you'll get 
 errors, or some things won't work.

 And now, my personal comments about the current specification of D 
 about developing an IDE for it:
  - Difficulty to suggest autocompletion for getters, and in particular 
 setters. There's nothing in the language that says "this function is 
 meant to be used as a setter". So currently, if you autocomplete a 
 method that looks like a setter, you will get something like this: 
 "var.member = |foo|", where you can start overwriting |foo|. While 
 testing Descent, I found more setters that "procedures", and thus this 
 decision.
  - Public imports are bad, bad, anyway you see it: they polute the 
 global namespace, they make compilation slower (and also an IDE 
 slower), they make finding the definition of a symbol harder (well, if 
 you don't use an IDE). So if you use import foo.all, forget about 
 getting good performance in Descent. Anyway, you won't need to use 
 that, because Descent writes the imports for you.

 Finally, as always with such an ambitious project, we need help! We're 
 looking for testers, documentation writers, translators, and most of 
 all developers. If you're interested in helping out, check out this 
 page, which summarizes what we're looking for:

 http://www.dsource.org/projects/descent/wiki/Development

 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new

Feb 04 2008
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
D 2.x is supported, but the semantic analysis is for 1.x. In fact, I 
just tried it, and if you write "invariant(int) x;" you get a lot of 
syntax errors, so D 2.x is not supported (tiny bug, I've just fixed it :-()

Extrawurst wrote:
 looks like an awesome feature list! respect!
 i have just one question, is the D2.x language supported aswell with all 
 the nifty features?

Feb 04 2008
next sibling parent reply Extrawurst <spam extrawurst.org> writes:
1) ok well for D2.x Descents new features are pretty useless. even a 
HelloWorld is too much cause phobos in D2.x is full of strings which 
Descent doesnt seem to understand.

2) is there any documentation of the features in Descent besides the 
feature list where one can eventually find a shortcut how to use it. 
cause features like the formatter are just usable for new users when 
they find the shortcut for it in the preferences-options menu

Ary Borenszweig schrieb:
 D 2.x is supported, but the semantic analysis is for 1.x. In fact, I 
 just tried it, and if you write "invariant(int) x;" you get a lot of 
 syntax errors, so D 2.x is not supported (tiny bug, I've just fixed it 
 :-()

 Extrawurst wrote:
 looks like an awesome feature list! respect!
 i have just one question, is the D2.x language supported aswell with 
 all the nifty features?


Feb 04 2008
next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Extrawurst wrote:
 1) ok well for D2.x Descents new features are pretty useless. even a 
 HelloWorld is too much cause phobos in D2.x is full of strings which 
 Descent doesnt seem to understand.

The way Descent works is that it has a (fairly complete) port of the DMD front-end. Since the DMD front-end is fairly large already, maintaining two versions is a LOT of work. So 2.x support will be there, but we're focusing mostly on getting the framework for a lot of cool features, into which we can insert 2.x semantic analysis. In other words, it'll be there, but just not right away.
 
 2) is there any documentation of the features in Descent besides the 
 feature list where one can eventually find a shortcut how to use it. 
 cause features like the formatter are just usable for new users when 
 they find the shortcut for it in the preferences-options menu
 

I'm going to work on some docs soon, and AFAIK Ary is doing some videos. As usual with any project as ambitious as Descent, there's huge amounts of work to be done & with only two people it doesn't get done very fast.
Feb 04 2008
prev sibling parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Extrawurst wrote:
 1) ok well for D2.x Descents new features are pretty useless. even a 
 HelloWorld is too much cause phobos in D2.x is full of strings which 
 Descent doesnt seem to understand.

Probably because of the bug I mentioned. After I fix some reported bugs and receive improvements suggestions, I'll make another release. :-)
 
 2) is there any documentation of the features in Descent besides the 
 feature list where one can eventually find a shortcut how to use it. 
 cause features like the formatter are just usable for new users when 
 they find the shortcut for it in the preferences-options menu

I've just added a list of useful shortcuts, hovers and autocompletion locations: http://www.dsource.org/projects/descent/wiki/Shortcuts If anyone else knows other useful shortcuts, please tell me (or tell me how I can make that wiki page editable by anyone).
Feb 04 2008
next sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
Ary Borenszweig wrote:
 Extrawurst wrote:
 1) ok well for D2.x Descents new features are pretty useless. even a 
 HelloWorld is too much cause phobos in D2.x is full of strings which 
 Descent doesnt seem to understand.

Probably because of the bug I mentioned. After I fix some reported bugs and receive improvements suggestions, I'll make another release. :-)

And also what Robert said it's true: even with the bug fixed, you won't see much difference, because we are mainly focusing on D1.x, which is stable.
Feb 04 2008
prev sibling parent reply Extrawurst <spam extrawurst.org> writes:
great i found out using some more features now!

a question: Is there a way to get a list of possible debug-versions or 
version-flags in general ? so i dont have to type a "version(" somewhere 
in the code to use the auto completion so it shows me the 
defined/available versions ?


Ary Borenszweig schrieb:
 I've just added a list of useful shortcuts, hovers and autocompletion 
 locations: http://www.dsource.org/projects/descent/wiki/Shortcuts

Feb 04 2008
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Where do you want to use it?

If it's just seeing the available ones, they are in Windows -> 
Preferences, D -> Compiler. The suggestions come from there, and from 
the version/debug identifiers defined in the source file being edited.

Extrawurst wrote:
 great i found out using some more features now!
 
 a question: Is there a way to get a list of possible debug-versions or 
 version-flags in general ? so i dont have to type a "version(" somewhere 
 in the code to use the auto completion so it shows me the 
 defined/available versions ?
 
 
 Ary Borenszweig schrieb:
 I've just added a list of useful shortcuts, hovers and autocompletion 
 locations: http://www.dsource.org/projects/descent/wiki/Shortcuts


Feb 04 2008
parent reply Extrawurst <spam extrawurst.org> writes:
well it would be nice for compiling a project which includes various 
externaly created/edited modules which eventually use some version 
identifiers which u are not aware of. do you see the point ?


Ary Borenszweig schrieb:
 Where do you want to use it?

 If it's just seeing the available ones, they are in Windows -> 
 Preferences, D -> Compiler. The suggestions come from there, and from 
 the version/debug identifiers defined in the source file being edited.

Feb 04 2008
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
You mean, collecting all the version/debug identifiers in the project 
and in referenced include paths, and show them to you, so you can know 
all the switches?

Extrawurst wrote:
 well it would be nice for compiling a project which includes various 
 externaly created/edited modules which eventually use some version 
 identifiers which u are not aware of. do you see the point ?
 
 
 Ary Borenszweig schrieb:
 Where do you want to use it?

 If it's just seeing the available ones, they are in Windows -> 
 Preferences, D -> Compiler. The suggestions come from there, and from 
 the version/debug identifiers defined in the source file being edited.


Feb 04 2008
parent reply Extrawurst <spam extrawurst.org> writes:
correct.


Ary Borenszweig schrieb:
 You mean, collecting all the version/debug identifiers in the project 
 and in referenced include paths, and show them to you, so you can know 
 all the switches?

 Extrawurst wrote:
 well it would be nice for compiling a project which includes various 
 externaly created/edited modules which eventually use some version 
 identifiers which u are not aware of. do you see the point ?


 Ary Borenszweig schrieb:
 Where do you want to use it?

 If it's just seeing the available ones, they are in Windows -> 
 Preferences, D -> Compiler. The suggestions come from there, and 
 from the version/debug identifiers defined in the source file being 
 edited.



Feb 04 2008
parent Ary Borenszweig <ary esperanto.org.ar> writes:
That's actually an *excellent* idea, which I will implemenet for the 
next release. And probably when search is implemented, you'll be able to 
see where a particular version/debug identifier is used.

Extrawurst escribió:
 correct.
 
 
 Ary Borenszweig schrieb:
 You mean, collecting all the version/debug identifiers in the project 
 and in referenced include paths, and show them to you, so you can know 
 all the switches?

 Extrawurst wrote:
 well it would be nice for compiling a project which includes various 
 externaly created/edited modules which eventually use some version 
 identifiers which u are not aware of. do you see the point ?


 Ary Borenszweig schrieb:
 Where do you want to use it?

 If it's just seeing the available ones, they are in Windows -> 
 Preferences, D -> Compiler. The suggestions come from there, and 
 from the version/debug identifiers defined in the source file being 
 edited.




Feb 15 2008
prev sibling parent reply Extrawurst <spam extrawurst.org> writes:
one other thing: i am heavily using derelict so pretty much every 
function i use is a function pointer variable. is it possible to show a 
parameter list even for them ?

example:
typedef int function(int,int,double) pfBlaaaa;
pfBlaaaa* Blaa;
Blaa(...


Ary Borenszweig schrieb:
 D 2.x is supported, but the semantic analysis is for 1.x. In fact, I 
 just tried it, and if you write "invariant(int) x;" you get a lot of 
 syntax errors, so D 2.x is not supported (tiny bug, I've just fixed it 
 :-()

 Extrawurst wrote:
 looks like an awesome feature list! respect!
 i have just one question, is the D2.x language supported aswell with 
 all the nifty features?


Feb 04 2008
next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
Extrawurst wrote:
 one other thing: i am heavily using derelict so pretty much every 
 function i use is a function pointer variable. is it possible to show a 
 parameter list even for them ?

How do you mean? You should be able to see the type/parameter types by hovering over the variable name. I can check some of the other places where functions are used (autocomplete on call exp, etc.) to hopefully make function pointers and functions virtually interchangeable.
Feb 04 2008
prev sibling parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Sure! It never crossed my mind, but it's pretty easy to implement. 
Please fill an enhancement report: 
http://www.dsource.org/projects/descent/newticket :-)

Extrawurst wrote:
 one other thing: i am heavily using derelict so pretty much every 
 function i use is a function pointer variable. is it possible to show a 
 parameter list even for them ?
 
 example:
 typedef int function(int,int,double) pfBlaaaa;
 pfBlaaaa* Blaa;
 Blaa(...
 
 
 Ary Borenszweig schrieb:
 D 2.x is supported, but the semantic analysis is for 1.x. In fact, I 
 just tried it, and if you write "invariant(int) x;" you get a lot of 
 syntax errors, so D 2.x is not supported (tiny bug, I've just fixed it 
 :-()

 Extrawurst wrote:
 looks like an awesome feature list! respect!
 i have just one question, is the D2.x language supported aswell with 
 all the nifty features?



Feb 04 2008
parent Extrawurst <spam extrawurst.org> writes:
done{#36}. and another enhancement came to my mind which i filed a 
ticket for since no membe list of pointer to struct variables is shown{#37}.

Ary Borenszweig schrieb:
 Sure! It never crossed my mind, but it's pretty easy to implement. 
 Please fill an enhancement report: 
 http://www.dsource.org/projects/descent/newticket :-)

Feb 04 2008
prev sibling next sibling parent "Simen Haugen" <simen norstat.no> writes:
"Ary Borenszweig" <ary esperanto.org.ar> wrote in message 
news:<fo63qt$8a2$1 digitalmars.com>...
 For current users: after you update the plugin, go to Windows -> 
 Preferences, D -> Compiler, and change any setting. It will ask you to 
 rebuild everything. You'll need to do this since I've changed the format 
 of the indexes for searching stuff. Otherwise you'll get errors, or some 
 things won't work.

I've used Included: (All) for my projects, but when trying to compile I get a message that my source files is not included in the project when I try to rebuild. Is this some bug in Descent, or is this expected behaviour?
Feb 04 2008
prev sibling next sibling parent Hendrik Renken <funsheep gmx.net> writes:
Ary Borenszweig wrote:
 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.

This release rocks! Thank you guys. I've been using Descent since the very beginning. Thank you, that Descent has become a well integrated and really usable D programming IDE. Hendrik
Feb 04 2008
prev sibling next sibling parent reply Leonid Krashenko <jetbird gmail.com> writes:
Strange, but there are no updates in update manager (I am using Descent 0.4.4). 

Ary Borenszweig Wrote:

 The Descent plugin for Eclipse provides an IDE for writing, launching 
 and debugging code in D.
 
 Explanations on how to get it from within Eclipse are here:
 
 http://www.dsource.org/projects/descent
 
 The new features for this release are:
   - Full autocompletion, which also writes the imports for you. No need 
 to remember where that class or function you are looking for is located. 
 Just start writing the name of it, press ctrl+space, select the 
 suggestion, and the import is added at the top of the module 
 automatically (no need to critic Tango anymore :-P). External variables 
 does not participate in import-adding, because there are *so* many 
 public ones...
   - Go to definition. It even works for opCall and magic array 
 functions. :-)
   - Semantic highlighting: you can choose to color aliases, typdefs, 
 classes, structs, interfaces, unions, templates, local variables, 
 functions and function calls, etc., with different colors.
   - Showing of semantic errors. By default, some semantic errors are 
 shown, like undefined identifiers or unresolved types. You can turn this 
 off, or you can enable full semantic error reporting (but it will 
 probably lie in some cases, that's why the default is "some"). It is 
 recommended to turn this off for existing big projects, as it may cause 
 more trouble than help.
   - Compile-time evaluation of functions and other properties: hovering 
 over an element while holding ctrl+shift shows it's compile-time value. 
 You can use this for built-in properties like init, min, max, sizeof, 
 alignof, stringof, mangleof, length, constants, enum values and function 
 calls (try writing a factorial function, then invoke it with a constant 
 value somewhere in the code, and ctrl+shift+hover over the call). If the 
 result of the evaluation is a string, and it is likely a declaration, it 
 will have syntax highlighting and will be formatted according to your 
 formatter preferences. This is useful for seeing the string passed to a 
 mixin.
   - Graying out of inactive code: shows in gray code that is not 
 reachable because of debug or version levels/identifiers and static ifs 
 that evaluate to false.
   - Improved occurrences finder: selecting a token highlights all other 
 tokens with the same semantic meaning. Then, pressing ctrl+2, r, allows 
 you to rename all those occurrences. Very useful for renaming local 
 variables, functions and types.
   - Declaration view: shows the source of the element under the cursor.
 
 For current users: after you update the plugin, go to Windows -> 
 Preferences, D -> Compiler, and change any setting. It will ask you to 
 rebuild everything. You'll need to do this since I've changed the format 
 of the indexes for searching stuff. Otherwise you'll get errors, or some 
 things won't work.
 
 And now, my personal comments about the current specification of D about 
 developing an IDE for it:
   - Difficulty to suggest autocompletion for getters, and in particular 
 setters. There's nothing in the language that says "this function is 
 meant to be used as a setter". So currently, if you autocomplete a 
 method that looks like a setter, you will get something like this: 
 "var.member = |foo|", where you can start overwriting |foo|. While 
 testing Descent, I found more setters that "procedures", and thus this 
 decision.
   - Public imports are bad, bad, anyway you see it: they polute the 
 global namespace, they make compilation slower (and also an IDE slower), 
 they make finding the definition of a symbol harder (well, if you don't 
 use an IDE). So if you use import foo.all, forget about getting good 
 performance in Descent. Anyway, you won't need to use that, because 
 Descent writes the imports for you.
 
 Finally, as always with such an ambitious project, we need help! We're 
 looking for testers, documentation writers, translators, and most of all 
 developers. If you're interested in helping out, check out this page, 
 which summarizes what we're looking for:
 
 http://www.dsource.org/projects/descent/wiki/Development
 
 Any suggestion, critic or bug report is welcome. You can use:
 - the forums: http://www.dsource.org/forums/viewforum.php?f=107
 - trac: http://www.dsource.org/projects/descent/report?action=new

Feb 04 2008
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
They appear for me, although only via Help -> Software Updates -> Find 
and install. I don't know why not via Help -> Software Updates -> 
Configuration Manager. :-(

You can also try running Eclipse with "-clean".

Anyway, you can always grab the plugins from here, and replace the 
existing ones: 
http://svn.dsource.org/projects/descent/trunk/descent.update-site/plugins/

Leonid Krashenko escribió:
 Strange, but there are no updates in update manager (I am using Descent
0.4.4). 

Feb 04 2008
parent reply Vladimir Vlasov <vlasov scatt.com> writes:
Ary Borenszweig пишет:
 They appear for me, although only via Help -> Software Updates -> Find 
 and install. I don't know why not via Help -> Software Updates -> 
 Configuration Manager. :-(
 
 You can also try running Eclipse with "-clean".
 
 Anyway, you can always grab the plugins from here, and replace the 
 existing ones: 
 http://svn.dsource.org/projects/descent/trunk/descent.update-site/plugins/
 
 Leonid Krashenko escribió:
 Strange, but there are no updates in update manager (I am using 
 Descent 0.4.4). 


The 0.5.1.20080204 versions of JAR files are missing on update site, so Eclipse unable to install Descent atm.
Feb 05 2008
parent Ary Borenszweig <ary esperanto.org.ar> writes:
That's it, I commited a wrong site.xml with a future version number that 
already doesn't exist. Fixed.

Thanks.

Vladimir Vlasov escribió:
 Ary Borenszweig пишет:
 They appear for me, although only via Help -> Software Updates -> Find 
 and install. I don't know why not via Help -> Software Updates -> 
 Configuration Manager. :-(

 You can also try running Eclipse with "-clean".

 Anyway, you can always grab the plugins from here, and replace the 
 existing ones: 
 http://svn.dsource.org/projects/descent/trunk/descent.update-site/plugins/ 


 Leonid Krashenko escribió:
 Strange, but there are no updates in update manager (I am using 
 Descent 0.4.4). 


The 0.5.1.20080204 versions of JAR files are missing on update site, so Eclipse unable to install Descent atm.

Feb 05 2008
prev sibling next sibling parent reply Olli Aalto <oaalto gmail.com> writes:
Hi. I ran into a problem when adding a compiler. I have Tango which 
contains the DMD compiler and giving Descent the path the Tango's bin 
directory, it says "Target is not a DMD installation Root. DMD 
executable was not found". I put "dmd.exe" as the compiler name.
Am I missing something, or doesn't Descent just not recognize the 
compiler when it's been bundled with Tango?

O.
Feb 06 2008
parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Give it that path that contains the bin directory (just one directory 
above bin).

Olli Aalto escribió:
 Hi. I ran into a problem when adding a compiler. I have Tango which 
 contains the DMD compiler and giving Descent the path the Tango's bin 
 directory, it says "Target is not a DMD installation Root. DMD 
 executable was not found". I put "dmd.exe" as the compiler name.
 Am I missing something, or doesn't Descent just not recognize the 
 compiler when it's been bundled with Tango?
 
 O.

Feb 06 2008
next sibling parent Ary Borenszweig <ary esperanto.org.ar> writes:
And no, it doesn't recognize the compiler when it's been bundled with 
Tango. How should it do it? For now, in Windows, it recognized phobos by 
searching it in src/phobos. Is there a standard directory layout for dmd 
bundled with Tango?

Ary Borenszweig escribió:
 Give it that path that contains the bin directory (just one directory 
 above bin).
 
 Olli Aalto escribió:
 Hi. I ran into a problem when adding a compiler. I have Tango which 
 contains the DMD compiler and giving Descent the path the Tango's bin 
 directory, it says "Target is not a DMD installation Root. DMD 
 executable was not found". I put "dmd.exe" as the compiler name.
 Am I missing something, or doesn't Descent just not recognize the 
 compiler when it's been bundled with Tango?

 O.


Feb 06 2008
prev sibling parent Olli Aalto <oaalto gmail.com> writes:
Ary Borenszweig wrote:
 Give it that path that contains the bin directory (just one directory 
 above bin).
 

Thanks, that fixed it. Now everything seems to work as it should. O.
Feb 06 2008
prev sibling parent reply "dominik" <aha aha.com> writes:
"Ary Borenszweig" <ary esperanto.org.ar> wrote in message 
news:fo63qt$8a2$1 digitalmars.com...
 The Descent plugin for Eclipse provides an IDE for writing, launching and 
 debugging code in D.

have you considered to make a custom eclipse build with Descent, maybe a SVN and several other things into one? you can do that easily with this: http://ondemand.yoxos.com/geteclipse/start
Feb 06 2008
parent "Vladimir Panteleev" <thecybershadow gmail.com> writes:
On Wed, 06 Feb 2008 10:24:06 +0200, dominik <aha aha.com> wrote:

 "Ary Borenszweig" <ary esperanto.org.ar> wrote in message
 news:fo63qt$8a2$1 digitalmars.com...
 The Descent plugin for Eclipse provides an IDE for writing, launching and
 debugging code in D.

have you considered to make a custom eclipse build with Descent, maybe a SVN and several other things into one? you can do that easily with this: http://ondemand.yoxos.com/geteclipse/start

Better yet, make one with an installation wizard that could download and install the D compiler (and maybe Tango, and maybe DDBG for Windows) for you. This way, getting a full-featured IDE up and running should be a sinch for new D users. -- Best regards, Vladimir mailto:thecybershadow gmail.com
Feb 06 2008