Ary has announced a new release of the Descent plugin for Eclipse. Some really cool, though still experimental, stuff in this update that has the newsgroups hopping. Take a look at this:
- Compile-time view (Window -> Show View -> Other -> D -> Compile-time View): allows you to see things from the compiler point of view, which applies some transformations to the source code. For example you can see what happens when you do a foreach, when you invoke an “extension method”, when you do operator overloading; know what type has an auto variable; how struct fields are accessed?; compiler optimizations. It also removes conditionals that evaluate to false, and shows the results of mixins in-place. As always, this is far from perfect and a lot of things can be improved. For the lazies, I’ll later upload a video about this.
- Now hovering over a mixin (over the “mixin” keyword) shows it’s result in a popup.
- Now hovering over a function or template instance with ctrl+shift shows it’s compile-time result (with shift only: it’s source code).
- Added code templates for operator overloading, so that you don’t have to remember all those names. Try them by typing “op” and pressing ctrl+space.
- Fixed ticket #160: new completion proposals: “classinfo” and “outer” (when available) are shown for classes. “ptr” and “funcptr” are shown for delegates.
The compile-time stuff is too cool for words. It’s a good thing Ary put up a YouTube video so you can see it for yourself:
This plugin has come a long way. If you start using Descent, be sure to hop over to the project forums and let Ary know you appreciate the work that’s gone into it.