A Weblog by Ben Goodger

November 8, 2006

I use Visual Studio 2005 to edit code. Feel free to hurl abuse. I like the concept of an IDE. I was one of the folk who clung to Visual C++ 6.0 bitterly for years after the new versions came out because it was fast. Well, in time people force compiler upgrades, and then folk like me who value performance over wizzy features get screwed.

Some bug reports:

  • Every couple of weeks, the editor decides to stop letting me type “}” characters. The key on my keyboard isn’t busted, it works in other apps and after a restart. Weird.
  • Stepping into and out of functions in the debugger is a lot slower than Visual C++ 6.0 on the same hardware. Almost all debugger operations in 6.0 were instantaneous.
  • Since I leave the IDE open constantly, I regularly take advantage of the size of the undo buffer to restore earlier versions of files. Unfortunately Undo seems to be really buggy, frequently showing block symbols in the text editor instead of the code until you resize the window, scroll it or somehow otherwise cause it to update. I had begun to think that this was just a benign rendering glitch until last week a large undo operation that I was doing crashed the whole app, leaving me with a file in an intermediate state.
  • My biggest complaint is how slow the entire environment is. This is not a good advertisement for .NET UI widgetry, guys… it’s slow to start, and operations seem to take a long time - bringing up property pages etc. Compared to 6.0, it’s a pig.
  • Compounding the previous point, whenever you go from debugging to editing modes, the entire workspace relays out, causing lots of flashing and flickering and since everything is so slow, it’s jarring as half rendered boxes appear on the screen.
  • Has anyone on this team heard of double buffering? Almost all of the UI is excessively flickery. See also my point below about the help viewer.
  • The property pages are slow, and the Mac-style model of changing with selection would be fine if there weren’t so many bugs where selection in the Solution Explorer occasionally jumps causing the incorrect pages to be shown for what I clicked on.
  • The tabbed editing MDI views in earlier versions of Studio.NET were great. The new system in 2005 is awesome. I am frequently losing documents off the end and forced to go into the annoying little menu to find them. I wish there was at least a docking “open documents” list.
  • The keybinding for canceling a build just does not work.
  • If I have the inline find box in the toolbar focused and hit a key binding for something like open file, I get an error - I need to focus the content area first. I’ve sort of almost trained myself out of doing this now, but this was not a problem in 6.0.
  • From a developer point of view, the Intellisense is not all its cracked up to be. It seems to work only about 40% of the time. And since it does work for that 40% of the time I become dependent on it and need it the other 60%.
  • There are lots of UI things that I think could be more efficient but I suppose I could write macros for them.

I had to create a separate list of gripes for the help viewer, the situation was so astoundingly bad. I can’t believe the Microsoft team rewrote it from the old MSDN library viewer which just used the HTML help viewer to this thing, and it still sucks so much.

  • All of the flickery problems from the IDE are multiplied here. It is the flickeriest app I have ever used. Drag another window over the top of it and see!
  • It is incredibly slow to launch and worse still seems to hang the IDE while it loads.
  • It is not a standalone app like the old CHM viewer, it is bound to the IDE instance that launched it, so if you have multiple IDEs open and close the one that opened it, your help disappears.
  • The built in search is terrible. Once upon a time on MSDN’s website you used to be able to filter results by category etc. Then some bright spark decided it was better to just provide search results and rely on relevance. Maybe that’s true, but only if the relevance calculation is good, or if everyone’s trying to do the same thing. I am not a .NET developer, so showing me .NET articles first in the results is not helpful. I use Google to search MSDN these days.
  • There are focus issues with the left list and the content area. It seems you can never select content in the left list and have focus stay there, it automatically shifts it to the content area, making keyboard use nearly impossible.
  • The help documents don’t remember where you were scrolled to the last time you viewed them, or what expandable sections you had opened.
  • There is no history of what topics you have viewed.
  • The favorites list is in the left list, which is annoying. There should be the option of a Favorites toolbar, like a web browser.
  • Most of the buttons on the default toolbar are useless. The buttons I actually push are Back, Forward and Sync TOC. I recommend Microsoft instrument this app and figure out what people use, and nix the rest. And find some way to make TOC syncing happen automatically, or have a keyboard shortcut for it.
  • The filtering is not granular enough, or something. I want all the ATL and STL docs, and I also want all the Platform SDK docs for Windows proper. I don’t want Windows CE docs. However because I can’t pick and choose which collections, I end up seeing Windows CE docs all the time, they are shown in preference to regular windows docs any time I select an API in the Index view. I would like to find and strangle the person responsible for this.

All in all, the app sucks so much I would just use the website, but the website is worse - it’s slow, and it doesn’t work in Firefox (I would use IE for it, but IE7 on this computer is way too slow).

Thus ends my rant. Developers and developer tools are important to Microsoft, so I hope other people tell them about these problems too and we see them addressed in future versions.


Comments are Closed