News
Whidbey First Look
- By Mike Gunderloy
- December 4, 2003
Well, we've been talking about "Whidbey" -- the next version of Visual
Studio .NET -- for months now. At the PDC this year Microsoft handed out
DVDs with early code to attendees. They also made them available to any
MSDN subscriber who wants a copy (drop by the subscriber downloads page
for
details; you actually need to call customer service on the phone to get
a copy). I've got mine, and after various travails got it installed on a
test box. As far as I can tell, there's no NDA attached to these bits
(if I'm wrong, I expect someone from Microsoft will call to chew me
out), so here's a quick rundown of what I've found, for those of you who
have better things to do than play with alpha software. I'm not going to
try to call out all the new features, just the ones that I think might
actually make my life easier.
First off, the IDE is basically the same as in earlier versions of Visual Studio .NET, and Whidbey seems to be
largely or entirely compatible with what's come before. There's no Start
Page in the alpha, but that may just be because the graphics people
haven't figured out what their 2004 style will be yet. The help system
too is largely unchanged, except that for some reason Search has been
moved from the tabs to the main window. Of course, there are still lots
of little changes. One nice thing is that the IDE shows you (via bars at
the left side of the screen) which lines of code you have edited in the
current session. The editor is also getting Smart Tags to alert you to
code problems (I detest Smart Tags in Office and will probably turn them
off here as well), auto save (it's about time!), and a refactoring menu
(at least for C#; I've already ranted a bit about my
opinion on that part of the IDE). Docking windows has gotten much more
predictable with the aid of on-screen graphics, though most VS .NET
users have already gotten pretty good at guessing where a window will
dock.
Both the Windows Forms and Web Forms designers have been overhauled, and
the changes seem to be for the better. On a Windows form you can finally
tell when a pair of controls are lined up just by dragging and watching
for a little line to appear; gone is the stupid grid that never worked
right anyhow. And it appears that the Web Form designer has learned to
let your HTML alone, rather than arbitrarily reformatting it according
to some mysterious set of internal rules.
There's a new build system, written in managed code, that depends on XML
files for configuration. This appears to be Microsoft's answer to NAnt,
with very similar capabilities, except that it's not licensed under the
dreaded GPL.
Edit and Continue is back for Visual Basic - though not for C# or any
other language. For many developers, this will be a big productivity
point in favor of VB. Of course, both C# and VB .NET are getting new
language features - and they're diverging. For C#, key points include:
- Generic types, which allow you to build more flexible data structures (Generics also work in VB .NET, but for some reason no one is making a fuss about that)
- Iterators, which ease the pain of adding foreach support to your own
classes
- Partial types, which let you spread the source code for a class across
multiple files (great for code generation).
VB .NET advances include:
- the My object, for quick access to things like forms, data sources,
and computer properties
- A 500-snippet built-in code library
- A Continue operator for looping constructs
- A Using statement for using resources and then disposing of them
There are lots more goodies in the package that I haven't had time to
play with. ASP.NET 2.0 is a vast advance over the existing version, for
starters, and one that's going to need some time to digest. "ClickOnce
Deployment" is designed to make it easier to deploy command-line or
Windows forms applications. And I know there are things in here that I
haven't even found yet.
The original release of Visual Studio .NET was a pretty darned good IDE
with a few rough edges. Visual Studio .NET 2003 was basically a service
pack for the initial release. Whidbey is a large enough change to
actually think of as the 2.0 version; even if you passed on 2003, you're
going to want this one if you're a .NET developer. At least, that's the
way that it looks right now. But remember Borland is in the .NET IDE
business as well now, and JetBrains says they're coming out with one
too. Any way you slice it, 2004 should be a good year for .NET
developers.
Remember the standard disclaimer: this stuff isn't shipping yet. It
could change, and it's going to be a year or more before you can use
Whidbey in production. Keep that in mind when deciding whether it's time
for you to spend any serious time poking at the bits yet, or whether you
should continue to depend on those of us who make a living out of
software on the bleeding edge.
About the Author
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.