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