A Few of My Favorite Things…in Visual Studio 2010


Since my last post I've switched from Visual Studio 2008/.Net 3.5 to VS 2010/.Net 4.0 for most of my day-to-day work.  I haven't had time to explore them thoroughly, but there are a couple of things that I really like.

The first is that optional parameters have been added to C#.  There haven't been many concepts that I've missed in the move from C++ to C# but optional parameters was one of them.  No longer do I have to have to write a series of functions to supply default parameters like this:

public void foo()
{
    foo(false);
}

public void foo(boolean onOffSwitch)
{
    ...
}

I can now achieve the same result like this:

public void foo(boolean onOffSwitch = false)
{
    ...
}

The second is the historical debugger.  This feature allows you to step back through the events that have occurred in your application to find the context for a failure.  There is an episode of the 10-4 show on Channel 9 gives a nice, concise explanation of how to use the feature, so I won't go into details.

A third feature that I find useful is the ability to generate a database from an entity model.  I find it much easier to think about the data I need to manipulate as business objects rather than data tables, particularly when I need to model many-to-many relationships.  With this feature, I create a new ADO.NET Entity Data Model, design the entities that I need conceptually, and Visual Studio will generate the DDL for creating the database.  Now, I'm not a database analyst by profession, so I can't speak to the quality of the generated database; however, for the type of databases I usually need, it works great.  Take a look at the Model-First Development with the Entity Framework 4.0 episode of 10-4 on Channel9 or Julie Lerman's tutorial on MSDN.

If you've found features that you like (or don't) in VS 2010, leave a comment to let me know what they are.

Cheers
Dan

DISCLAIMER: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer.

Comments (0)

Skip to main content