News

Whidbey First Look

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.