Descent 0.5 released

Leonid Krashenko jetbird at gmail.com
Mon Feb 4 14:41:22 PST 2008


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



More information about the Digitalmars-d-announce mailing list