Descent 0.5 released

Extrawurst spam at extrawurst.org
Mon Feb 4 03:59:58 PST 2008


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


More information about the Digitalmars-d-announce mailing list