Monthly Archives: October 2003

Refactoring support in VB.NET

Anand and Tom ask whether VB.NET is going to have refactoring support in Whidbey. The short answer is, despite what the PDC lab person told Tom, “yes.” However, the long answer is, well, a bit longer than that.

What C# is calling “refactoring” is actually a collection of related-but-separate code manipulation features in the IDE. Things that are included under this rubric are, I believe:

  • Symbolic rename
  • Extract method
  • Extract interface
  • Encapsulate field
  • Reorder parameters
  • Remove parameter
  • Add parameter
  • Promote local to parameter

Some of these features are already slated to be included in the VB.NET Whidbey release, such as symbolic rename, and for others we’re open customer feedback as to which ones above they think are important. Or if there are ones you don’t see there, we want to hear about them as well! If you leave comments on this entry, I’ll make sure they get forwarded to Jay, the PM in charge of this area. (The more specific you are, the better. “Do everything that C# is doing.” is helpful, but “Reorder parameters is the most important to me because blah, blah, blah.” helps us even more!)

One thing that is likely, however, is that VB.NET won’t be using the term “refactoring” in the IDE to refer to these features. While that term is fairly common in some quarters, we believe there are lots of VB programmers who are likely to see a menu item called “Refactor” and just ignore it because they don’t know what the term means. We’d like to surface the features more directly so that they don’t get missed by our users. (If you disagree, feel free to give us a holler on that too!)

Even more chat information!

Some VB.NET chat information:

  • The transcript for the Sept. 30th chat on “Visual Basic .NET Language Design“ is now up on MSDN. Check it out!
  • Mark your calendars for Nov. 11th for a chat on “New Features in Visual Basic ‘Whidbey’“. It’ll be a great chance to ask those questions that occured to you after you left LA and had some time to digest the Whidbey build you got at the PDC!
  • And on Nov. 18th, we’ll be talking about “The Essentials for Programming in Visual Basic .NET“. Be sure to come with that language conundrum!

More information about the upcoming chats can be found on the MSDN chat page. Hope to see you all there!

Now I know how Paul McCartney must have felt…

The most aggravating thing to hear from customers at the PDC? “But I heard from (someone) that VB is (going to be dropped/going away/dead) and that we should switch to (insert language here).” (I hope it goes without saying to loyal readers that this is not true. Otherwise, I’m mystified why I keep getting that check in the mail every month…) It’s not the customer’s fault they got faulty information, but it’s still aggravating nontheless.

I will say that this is so far a very, very, very small piece of the customer interactions I’ve been having here at the PDC. The general consensus seems to be that Whidbey is really going to hit it out of the park for VB users, which is wonderful validation for the hard work the team has been doing. Now we’ve just got to ship it!

(Hmmmm… I wonder if you play some of Don’s songs backwards you’ll hear “VB is dead.” I’ll have to have a chat with Mr. Box about that…)

Language/tools roadmap updated

Someone pointed out that MSDN has updated its Microsoft Developer Tools Roadmap to include a lot more information about upcoming releases of VB, C#, C++, etc. I highly recommend checking it out if you want to get more information about the future, right from the horse’s mouth.

(I apologize for not linking to the person who pointed out the update – unfortunately, I deleted the entry and I’m having problems finding the entry using Google, Feedster, etc.)

We won’t be left out of the Longhorn party…

Unfortunately, I missed the Monday keynote between nursing my cold and trying to get my wife on a flight back to Seattle. Apparently during the keynote, though, Chris and/or Don made a comment about the C# command-line compiler shipping as a part of Longhorn. (See places such as Peter’s keynote notes.) Which, of course, has prompted a number of queries, “Does that mean VB won’t be shipping with Longhorn?”

Nope, it doesn’t. We’ll be right there alongside C# in Longhorn. The VB command-line compiler is part of the same set of components as the C# command-line compiler is, so anywhere we go, they go. And vice versa.