There are some great and well-known third-party tools that enhance or complement Visual Studio .NET, such as NUnit and Roeder's Reflector. Visual Studio's Code Snippets, both the default (built-in) snippets, and the C# and VB.NET add on snippets are amazingly useful and seemingly under-advertised and under-utilized. I don't hear many people talking about them and I haven't seen much use of them.
What are code snippets? Code shortcuts for writing bigger chunks of code. A quick and powerful example is a good way to introduce them.
Here's the default code snippet "prop" in action in C# that codes up an entire read/write property complete with private storage variable. They way I use this is instead of writing everything out by hand to code out a property, I simply type "prop" followed by TAB, TAB. As you can see, prop even appears in Intellisense.
After I hit TAB the 2nd time, I see this.
Then I just type a quick "string", TAB, TAB, "myName", TAB, "Name" and I'm done!
Will I ever type out another private member/getter/setter property combo again? I doubt it.
The official documentation says, "The Code Snippet Inserter is invoked through the Insert Code Snippet or Surround With commands on the IntelliSense menu, or by using the keyboard shortcuts CTRL+K, then X and CTRL+K, then S respectively." I find it easiest to just type out the snippet's keyword and press TAB, TAB. Things are a little different in the VB.NET editor. Snippet keywords don't appear on Intellisense lists, but simply right-click and select Insert Snippet.
After clicking Insert Snippet, a categorized menu of snippets is presented.
Selecting Common Code Patterns and then Exception Handling and shows the available snippets in that category.
Selecting Try...Catch...Finally...End Try Statement inserts this code.
Now I just need to decide what class of Exception I want to catch and I'm off and running.
To add on more snippets from MSDN or make and add your own, use the Code Snippets Manager.
For example, adding the Database code snippets gives you nice shortcuts such as "adoCreateSqlConn" which generates the following code.
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = @"Data Source=ServerName;Initial Catalog=Northwind;Persist Security Info=True;User ID=
I hope this was helpful. Enjoy!