The one thing that tells me IntelliJ is much better than
VS.NET is that it seems that the IDE knows what's inside
the editor: it's aware of the meaning of the code, it's
not looking at it as ascii characters.
In other words: the IDE views the world in an editor but
works with the world inside itself, the editor's
contents is a view on that world and the developer
alters that world, not the contents of the viewer (the
editors contents) although for the developer it seems
that the developer is altering texts.
The big advantage of this is that the IDE can be ultra
smart and still be fully able to present the developer
the code in whatever format he wants and persist that
format. I get the feeling in VS.NET this is not the
case: the editor looks at the text as text, it doesn't
use a set of elements inside that are represented by
text in an editor, which results in all kinds of crap,
like the lack of serious functionality to alter code
inside a texteditor from a macro, using intelligent
knowledge (f.e. create a region for properties and one
for member variables and add a property in one region
and a member which is used by that property in the
other. This is clumbsy in VS.NET now, because hte editor
isn't aware of what's inside itself: every character is
the same. IntelliJ seems to work totally different (no
wonder, the MVC pattern is a cornerstone of the Java
API).
Whidbey seems to change this a bit, lets hope it will be
on par with IDEA.
This is a great piece of work Roy. I'm glad that someone
in the Microsoft community is highlighting the
innovations in the Java IDE's. I love competition like
this when it leads to improvements in developer tools.
Like you say, I hope the Visual Studio team are tracking
these changes. It looks like Whidbey's refactoring
support is a little less than half of what IntelliJ
provides, hopefully the Longorn version (Orcas?) will go
the rest of the distance.
Woah, those are really cool features :-) Can't those
features be added via addins to VS7? Afterall, if MS do
it, they'll be killing some poor component vendor
somewhere.