Descent 0.5 released

Kris foo at bar.com
Sun Feb 3 21:03:24 PST 2008


Awesome project ... nice work you guys :)


"Ary Borenszweig" <ary at esperanto.org.ar> wrote in message 
news:fo63qt$8a2$1 at 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 




More information about the Digitalmars-d-announce mailing list