
You know that Microsoft shipped Visual Studio 2008 late in 2007, but want to read about its features and also drawbacks. Here I explore some features of VS 2008, and also some negatives.
Visual Studio 2008 really shines with .NET 3.5. When moving from C# Express 2005, I was impressed with how the software was integrated into one program. When I was working on C++ interoperability in the Express version, I had to use two programs, but with Visual Studio, I could do it all together.
I very soon noticed some impressive performance improvements in opening projects in the new version, which made me happy. Even my smaller projects would open slowly before, but now they open quite fast. Unfortunately, there were still some issues with performance. Fortunately, Visual Studio 2008 doesn't use huge amounts of memory and is quite well behaved.
HTML paste performance. Pasting HTML into an aspx page would freeze the environment for a long time. Fortunately, this was corrected in a hotfix.
ASP.NET refactoring. Using Encapsulate Field in ASP.NET freezes the environment for a long time. This is currently not fixed in a release version.
SQLCE performance problems. I have had some crashing and performance issues with SQLCE databases. These aren't widely deployed and perhaps were not given enough attention.
XML comments still slow. I hate to mention this because it is unavoidable, but constructing XML comments still is slow and annoying in Visual Studio. The comments are hugely helpful though.
Plain text editor. The text editor in Visual Studio 2008 is simply amazing and it is thousands of times faster than other ones such as Word or Notepad.
Unfortunately, Visual Studio 2008 has crashed on me quite a lot, but not during normal use. Using SQLCE databases within Visual Studio was quite bad and would often cause hangs and crashes. Hangs are even more frequent and occur in situations such as when a program ends up in an infinite loop.
IntelliSense is in my opinion the most important part of Visual Studio 2008 other than its compilers. IntelliSense uses fairly sophisticated algorithms to show you completions and suggestions. After a while, you come to rely on it and using Notepad is painful.
XML completions. The XML features are far better than the HTML features in this area, which means that we developers should use XML instead of HTML for data storage.
LINQ methods. Microsoft's team carefully made LINQ compatible with IntelliSense and their efforts really panned out. IntelliSense is indispensable for LINQ.
Tab completion in the C# language. This is not new but is very important. It is wonderful to press tab and generate Dictionary signatures or event handlers.
Refactoring is necessary for an object-oriented language such as the C# language. I would like to mention some problems with the Refactor feature here. Here are some issues I have found with Organize Usings, which you activate by right-clicking on the using statements at the top of a file.
Object-Oriented Programming BenefitsOrganize Usings >
Remove Unused Usings
This is good but it will strip away all the usings in many files. I would like
to have it retain the most common or important ones. A suggestion is Reset Usings
to the default.
Organize Usings >
Sort Usings
If there is a C-style comment at the top of a file, this will sometimes move
it to the middle of the using statements.
Refactor > Rename is the most useful Refactor method to me. You can use this by right-clicking on a variable name and then selecting the Refactor > Rename... item. Again, here I have some problems with the performance of Refactor in ASP.NET so that I am sometimes scared to use it.
Here we note that Visual Studio can reformat pasted code very well and that is great. However, I have noticed some problems with it when you paste in multiline C-style comments. For example, when you paste in the following code, it will not be indented properly.
/*
*
* This is a comment that will not be formatted properly on paste.
*
* */
public static int Okay()
{
return 2;
}I feel ASP.NET has been neglected somewhat in Visual Studio 2008. Of course, I do feel that it is still an excellent environment, but not as good as the Windows Forms version. As I have stated, the Refactor performance is abysmal in my setup.

CSS indentation. I have had many problems with Visual Studio 2008 messing up my inline CSS indentation. It would indent it erratically and generally mess things up. Additionally, JavaScript IntelliSense sometimes hasn't worked well and would not function at all.
FTP performance. The FTP performance for Publish Web Site is atrocious in Visual Studio. FTP should not cause the environment to freeze for any amount of time. There are several threading issues with the UI in VS, and it seems to freeze more than it should.
Here I will mention some parts of Visual Studio that I found unnecessarily confusing. I may not have better ideas for the features, but they are still things that should be worked on.
SQL Server table column input. The way you add a column to a table is to click in a large whitespace near the top. I really think a balloon could help discovery of this feature. This messed me up for a long time.
Lost dialogs. Often I will think Visual Studio has frozen when really there is some hidden dialog. Perhaps the dialogs could be made larger or positioned so that they can always be seen on the computer.
Panel arrangements. This is the most confusing part, and I usually just go to Window > Reset Window Layout to fix things. I would suggest Microsoft add an item to the Help menu named "Messed up Toolbars or Panels" that would offer a walkthrough for returning things to normal.
Visual Studio's help system is quite awful and should simply be avoided. The rendering flickers and it is slow. I do not feel having an integrated web browser is useful for Visual Studio, particularly as people who use Firefox will be disappointed with its performance.
Firefox 3 Memory Benchmarks and Comparison
I am happy with Visual Studio and feel it is an excellent tool, despite some of the issues I listed above. This document won't help you decide whether or not to upgrade, but it may offer some insight into how the software works and some of its weaknesses.
I would like to see a wizard in Visual Studio that will walk me through configuring all the toolbars and panels in more detail. I find managing all those areas quite difficult. I think this sort of wizard could augment IntelliSense and advance the environment's progress towards better usability.
Visual Studio Tips