Things I hate about Visual Studio 2010 - part 1

So far I’ve found Visual Studio 2010 quite a compelling upgrade from Visual Studio 2008 for native C++ development. Intellisense is better, the build experience seems smoother and faster, editing on a decent development box seems OK, the various profiling and concurrency tools look interesting and, well, it mostly works quite nicely.

It’s a pity that there are some rough edges. I’ve been seeing crashes when I update project and solution files whilst it has them open (a common thing to do if you’re working with source control). I haven’t yet been able to get a repeatable reproduction, but my gut tells me it’s intellisense (isn’t it ALWAYS intellisense??).

The ipch directory is a pain. Which bright spark decided to cut the “and change the property dialog so that you can specify where it lives” work item from the schedule? Just dumping a directory in the middle of my source tree is a crap thing to do! Likewise what’s with the mess of tlog files? What intern designed that solution? Surely a single file with all this information in would be better? Surely that should also have had a “and this is where you specify where it lives and what it’s called” property sheet entry?

But the worst thing so far is the “find and replace” dialog. It always has been a bit of a stupid thing, I can see why it might seem like a good idea to have it jumping around all over the place so that it doesn’t obstruct the found items but, really, has anyone in Microsoft actually USED it in anger? The jumping has always been a pain, especially in scenarios where you basically want to click “replace all” but instead click “replace” so that you can eyeball each of the replacements for the one that shouldn’t be done… Dragging it off to one side used to be fine but now it rarely seems to stay where you put it and sometimes ends up off the screen (!). You’d think that the fact that you could dock it would help, but no, everywhere I’ve tried to dock it I end up with it failing to scale itself to the space that’s given to it; so some buttons aren’t available…

I know it’s a huge product and I know I’m nit picking, but, really, these things are important, if only because they give people like me a reason to bitch about what otherwise is a cracking development environment…

Edit: And then, of course, it stops jumping around for some unknown reason and acts like a sane user interface control… I don’t care why it’s now behaving itself but I hope that all my other gripes can be fixed by simply ranting about them!