C# IDE: New Features for Whidbey

I'm sitting in a large conference room watching my manager, Scott Wiltamuth, do a
presentation about the new features in the C# IDE. The highlights are:

1.
Expansions, which are user-written "code templates" which are triggered through the
standard CTRL-Space syntax. They are somewhat like a Cut/Paste, except that you can
define fields in the text that can be replaced, and the IDE will highlight as you
step through them.
2.
Code formatting. Formatting is always a religous
issue
, and previous versions of C# didn't give you very much freedom in following
your own formatting beliefs. In Whidbey, we've developed an approach with much finer-grained
control on how you code is formatted. There are 80-some different settings that you
can set to control exactly how your code is formatting 3.
Refactoring. VC# in Whidbey contains support for some commonly-used refactorings.
One of our goals WRT refactorings is to be able to make the refactorings that we do
very trustworthy. In other words, to make sure that they work every time. To do that,
we've hooked in to the C# compiler, so that refactoring can use the "gold standard"
information about the code when doing refactorings.
4.
Debug visualizers. Visualizers are C# forms that the debugger uses to display values.
If you've ever tried to figure out what's going on in a hashtable or a dataset, you
know that the current model isn't great. With visualizers, you can use a custom viewer
on top of the data.
5.
New build system (ie msbuild). Think of something like Nant.