Last night I presented VB Whidbey at the .NET Developer Association General Meeting here in Redmond. I was on after Dave Winer and Robert Scoble spoke on blogs and RSS, etc. It is no coincidence that my blog debuts the very next day. Thanks to Dave and Robert for inspiring me.

My hour was all demos. I showed several IDE enhancements, including
- Faster startup
- Not having to be prompted for project location when you start
- Snap lines to help you line up controls
- Editing control Names and Text on the form all at once rather than having to individually edit them in the Properties Window
- Error correction options. Let's say you type Dim iVar as integr. You'll get a blue squiggly and a smart tag. Click the smart tag and we offer suggestions as to what you may have meant. Select Dim iVar as integer from the list and we'll change your code to that. Or you create a property and then make it ReadOnly. You can't have a Set in a ReadOnly property. We'll prompt you and offer to either remove the ReadOnly or remove the Set.
- I
f you rename form1.vb to GroovyForm.vb we'll change the class name from form1 to GroovyForm. (Actually, this was in my notes to show, but I don't remember if I did it.)

I showed debugging enhancements, including
- Edit and Continue, including how we grey out code that you can't edit if you then want to continue
- You have a class VBGuy and you Dim oBoy as VBGuy. Set a breakpoint and when you hover over oBoy you will see a dropdown that lists the properties of oBoy and their values. You don't have to dive into the debug windows to see that. You can also change the values right there in your code. This is nice because you don't have to stop looking at your code.
- I showed snippets, collections of precanned code we will ship in the box. I was not able to show how you create your own because that doesn't work in the build I was using.
- And I showed the My namespace and code like My.Computer.Name or My.Forms.Form1.Text. The My namespace is really just wrappers around existing Framework classes. So you can do things like print with less code. My.Computer.Printers.DefaultPrinter.WriteLine(“Wicked cool“)
My.Computer.Printers.Print(True)
And here is code to copy a file
My.Computer.FileIO.CopyFile("C:\BigFile.zip", "C:\Backup", False, True)
This is going to be a very popular feature! You can use the My shortcuts and of course you can use the .NET Framework classes. Your call.

Tomorrow I will talk about the Data features I showed.