Add References in VS 2010

I just felt the need to tweet about how bad the Add References dialog in VS 2010 has become, and somebody actually asks why… well, here’s the stuff I sent to MS a while back (just my part of the conversation, since I don’t have time to go ask for permissions to include theirs), with some comments added for clarity:

What is it with the Add Reference dialog? Somehow you never get this thing right… let’s see:

  • At a glance it seems faster than it was, but that’s only because the loading process of the assembly list now happens in the background. In reality it takes just as long as before to load that list, only now there’s no real indication of when the loading is done. This is really a step backwards. (Comment: after working with it for a while, I find this is really a pita. The assembly I’m looking for always seems to be one of those that are not in the list from the start, so I wait and wait, and I never know when the thing is done. Bah.)

  • The elements in the list are in some chaotic order once the loading finally finishes. (Comment: … and sorting them while the filling process is still working doesn’t even seem to be possible.)

  • You took away the Recent tab, which makes dealing with the dialog even more painful. (Comment: I found out just a moment after sending my email that this problem only comes up for F# projects. Anyway, it’s still the same issue in the RC, it is a loss of functionality compared to VS 2008, it is important, especially in view of the stupid dialog I’m discussing here, and they have no plans to add this back in for VS 2010 final. Great.)

  • There are still not even the simplest features in place, like for instance a search box. Yes, I know you don’t have time, etc etc, but that’s a 20 minute feature, don’t you think? (Comment: turns out in the conversation that MS guys don’t think this is a 20 minute feature, thanks very much. Well, go figure.)

I don’t know, guys… I don’t want to blow this up out of proportion, but these simple things are what makes working with the tool pleasurable vs not. You can add as many new WPF based editors as you like, but I won’t be very impressed unless you start addressing simple usability issues like this.

Of course I could easily add things like “why on earth is that dialog so slow to begin with?”. Why? I don’t know. Well, the GAC isn’t the most easily readable structure in the world, and VS has its own funny lookup mechanism on top of that, but really… we’re only reading a few hundred entries. I don’t know… this would be something I’d take a profiler to, and I have a hard time believing it really has to be this slow. And if it’s really true – how about caching? Something?

I don’t think I’ve met a single VS developer who doesn’t hate that dialog with a passion. Every time I do a presentation or a training and for some reason I have to bring up that dialog (yes, every trainer/presenter I know tries to optimize their classes/talks so that the thing is never needed!!), there’s a groan or a laugh going through the room, depending on attendees’ moods.

Microsoft. Seriously. Please. Fix that thing!

3 Comments on Add References in VS 2010

  1. You might check out Rory’s Quick Add Reference dialog:

    Haven’t seen the vs2010 rc references dialog but it may have improved as many are reporting overall perf improvements.



  2. ‘Add References’ dialog became very annoying, especially .NET tab. Did somebody post corresponding reclamations to Microsoft?


  3. Now there’s a solution that brings that search box to that very same dialog (no new UIs please :)):

    From the Extension Manager UI, you can also search the online gallery for “Search References” and it will show up 🙂


Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s