MSDN TV on Visual C# “Whidbey”

Visual C# Whidbey really does rock, don’t believe me? I’ll show you in this MSDN TV episode.

Things I showed:

Language/Framework Features

  • Generics

  • Anonymous Methods

  • DataSet XML serialization

  • File class enhancements

IDE Features

  • Code Expansions/Snippets – class, property, if, using 

  • Refactoring – Encapsulate Field, Rename, Extract Interface, Surround with Region, Surround with Try/Catch

  • Visualizers – DataSet, XML string

  • Other IDE features – IntelliSense on generic types, Property Editors

Platform Features

  • ASP.NET – Object Binding a generic collection to a GridView

  • Windows Form – Browser control, GridView


Comments (18)

  1. senkwe says:

    Just watched it, great show! And thanks for setting your IDE to a big, bold font for good code visibility.

  2. Thanks, definitely appreciate it 🙂

    I’ve noticed that a lot of people think that Lucida Console is *the* demo font, but my personal opinion and experience is that Arial Black is much better. As you correctly pointed out, the thicker a font, the easier it is to read at a long distance (the letters don’t blend together). The only issue is with Arial Black is that it isn’t a fixed width font, but for demo purposes I thnk its fine.

  3. Luc Cluitmans says:

    Cool features!

    One thing has me worried though, related to features that add code, such as the ‘Encapsulate field’ feature. The problem is, how does this interact with personal preferences of coding style? I’m not talking about variable naming conventions, but about *where* the newly generated code appears.

    I myself prefer to have a region for all fields (fields are always private in my code) at the bottom of the source file and have property accessors in a different region. Is there a way to configure where newly generated goes (that would be nice for the GUI designer too)? Or, as a workaround, is there a refactoring that would allow you to move a code fragment (the newly generated property) to another region (selected from a list)? Of course manual copy and paste does the trick, but just right-clicking the property and tell the IDE to move it to the end of the region named ‘properties’ (selected from a pop-up list) would be nicer.

  4. Hi Luc,

    Thanks for the feedback, definitely appreciated. I’ve passed this on to Anson Horton our IDE PM to see if he knows of an easy way to do this, but I think you would have to write a macro to be able to accomplish this. The Encapsulate field refactoring is a fully customizable xml file (PDC bits location: C:Program FilesMicrosoft Visual Studio .NET WhidbeyVC#ExStencil) so you could add or change this in whatever way you would like – ex: put the private variable in a new region, but it won’t have the ability to choose regions in the editor.



  5. MSDN TV ? Whidbey ? C# ?????????? (?? ???????)

  6. John Cousins says:

    One thing I noticed: when you were creating a constructor for a class in your video, you manually inserted the open/close curly braces, whereas some of the other nice features you were showing did this automatically! Are you planning to incorporate a feature to facilitate this?

  7. John Cousins says:

    In fact, thinking about it, why don’t you automatically create a (default empty) constructor when you’re using that nice code expansion feature for a class? It would imo be a very convenient thing to have.

  8. Thanks John, I totally agree with you on the open/close curly braces for the constructor (and for all methods), but I’m not sure if having a default empty constructor in the class expansion is the way to go. Would you always want to have an empty constructor for your classes? If so, at worst you could always modify the expansion yourself and add the default constructor, but another option might be to have multiple expansions, one for a class w/ no constructor one for a class with an empty constructor.

  9. Scott Munro says:

    Refactoring and Intelliarguments

  10. parekodi says:


    I am unable to view Refactor option when I right click on the variable.

    Also I am unable to add property using "property" and tab combination.

    Should I do any kind of IDE settings before I use these features ?

    My versions are VS2003 (7.1.3088) and .NetFramework is (1.1.4322)

  11. Parekodi – The settings that I showed are not for VS2003 but rather for the next version of Visual Studio, codenamed "Whidbey", which is now known Visual Studio 2005.



  12. John Cousins says:

    Dan, is there a place in MSDN subscriber downloads where I can download the beta of Whidbey?

  13. Evangelos Hadjichristodoulou says:

    I’ve Seen the MSDN TV video. Great. I want to use them now. I have VS Whidbey PDC version. I do not see any refactoring options. Will I need to wait for the beta version or do I need a configuration change in current verion I have?

  14. Evangelos,

    A couple of things, the refactorings I showed are only available in C# and you can’t use them in ASP.NET unless the C# files are in a custom directory named "code" (at least in that build). For test purposes, try creating a windows form project, right-click in the code view and see if the refactoring options are available.

    Hope this helps,


  15. Evangelos Hadjichristodoulou says:

    Great!!! It works in a Windows app. Losts to play then… What I wouldent give to get involved in this project…

    Thank Dan.


  16. Great features to have. I’m looking forward to next VS.

    But don’t you guys follow your own code writing recommendations?



  17. nasir jasim says:

    I’ve seen the show.IT WAS AMAZING

    thank you very much.andI hope if there’s more coming demos on C# Whidbey ??