September 07, 2007

I initially wrote most of this three months ago, but didn't finish and saved the draft. Hassles with Visual Studio today have caused me to dredge it up.

I know I blogged about this before but I am moved to repeat:

  • It is so slow, and it's constantly flashing, flickering, and locking up for no reason. "Microsoft Visual Studio - Not Responding" is a common title in my task bar. I mean honestly guys, I know Firefox is no great shakes when it comes to responsiveness, but Visual Studio is without shadow of a doubt the most hang-happy application I've ever used.
  • I spend so much time fighting the UI. To be fair, it's a better UI than Visual C++ 6.0, but it's still not right. Documents disappear from the tab strip, there's no way to easily see all open documents at once, the little docking panels get in the way most of the time and the autohide is annoying.
  • It's hangtastic. I know I already mentioned this but really this is my biggest complaint probably. Hangs when loading projects. Hangs when shutting down (I usually end it by killing it). Hangs when building. The linker is mysteriously shit. Sometimes it'll take ten minutes to link some inconsequential change when I press F5. Hangs when opening menus. Hangs when opening just about any dialog, especially the project settings dialog, but really pretty much every dialog except "Go to line #".
  • IntelliSense works only about 40%20% of the time. It's incredibly useful when it does, but since it works so poorly the times when it doesn't are enfuriating. Lesson: Don't give users goodness and then take it away. They will hate you for it.
  • The document explorer is astoundingly crappy. In many respects it's preferable to just using Google, since it loads the contents faster than msdn.microsoft.com loads over the web, and you can easily get context for a given API by using the Sync Toc button. I've given up launching it from Visual Studio itself, since if I do that it takes years to launch and hangs the IDE while it does. Even so, it's even flickerier than Visual Studio itself (has anyone at Microsoft other than the Office team heard of double buffering before? No? It's simple. CMemoryDC mem_dc(dc); /* do rendering */ I mean sweet justice. Welcome to 1999. Or was the plan to wait for Vista and let the OS provide it for you?) The UI also has all the wrong commands and filters. There's no way I can see _only_ win32 SDK docs + ATL + STL as far as I can tell. It seems obvious that as a developer my project would use a subset of the APIs Windows provides, and as such I should be able to select that subset, rather than rely on some arbitrary one picked by MSDN folk.

Does the Windows team actually use Visual Studio to develop Windows? Ha!

I'm not even going to touch the issue of vcproj mayhem.

I'm sure there is lots of interest computer science involved in each revision of Visual Studio, but as a user I can't really tell. The UI was briefly good, got worse now with the stupid tab overflow that constantly shuffles your workspace (guys, the Firefox 2 tab overflow system was based on your initial work in Visual Studio.NET, why change it to something worse?!). Now every release seems to be slower and have worse UI. One exception: the installer that doesn't require a restart. Yay! Someone listens ;-)

 

« Jaguar is finished... | Main | Gripe »

You should try it for C# - works *awesomely* :-)

Although it has many flaws - is there a better C++ IDE? I don't know of any and credit MSFT with the best.

Mike - Agreed, no arguments.

I have at times tried developing software using various Linux and Mac based IDEs and found them in many ways inferior to Visual Studio. It's just that the issues with those tools seemed so fundamental to the entire design of the program.

What I don't get about Visual Studio is that it seems like there are so many ways in which it could be easily improved (see my double buffering comments), and yet it gets worse. This I think is just as frustrating as the unusable IDEs on other platforms ;-)

MULTI (from Green Hills Software) is 10x the IDE Visual Studio is. AND it works on Linux as well as win32.

Not sure if this will help any, but if you're using VS 2005, try the beta of VS 2008, Orcas - I find it's far more stable and responsive than 2005 for C#. YMMV.

Funny, I found this while looking for a solution to a problem I was having with Visual Studio hanging while compiling a C# project (which had compiled fine just yesterday). Reboots didn't work, changing release mode didn't work. In the end I just moved my project to a different directory. worked fine.

I've worked in various Java IDEs for a good number of years now and never see the number of annoying problems that studio has ( not to say they don't have problems) . The linker is particularily awful.

Hi, I found your comment when I was trying to see if I could find a solution to the constant hanging, it is a complete nuisance. In terms of usability, Visual Studio (.NET I'm using) has to be the worst IDE I've ever used. Not only does it constantly hang, but the "Find In Files" is crap as well. The "All Searchable Items" option is nonsense, we need a "Complete Solution" option. There are _so many_ little places where VS 6.0 is superior as well, I have no idea what Microsoft are doing with it.