Visual Studio 2010 RC Add Reference Dialog

The Add Reference dialog has been the biggest punching bag for Visual Studio detractors. It’s always been extremely slow and annoying, and pretty much every developer has felt the dread associated with knowing you’re going to have to add a reference to a .NET project. So, with Visual Studio 2010, this was supposed to have been one of the areas of focus. My initial reaction was that the tweaks made here made a huge difference, and actually made the dialog usable. Well, I have to say, my initial reaction was incredibly wrong. Yeah, the changes made a huge difference, but not for the better. The dialog now displays nearly instantaneously. If you’re adding a reference to a project or by browsing to an assembly on disk, then the changes are going to make your heart sing. However, if you’re attempting to add a reference from the list of known assemblies, well, the old dread holds nothing to the new feeling of pure doom. See, by loading the list asynchronously, populating the UI with every item as it’s found, they’ve actually made it take longer to load the list. Worse, because the UI is updated with every item found, it’s not really usable until the entire list is loaded. There’s nothing more frustrating than being presented with a long list of items, inviting you to scroll to locate the item you need, only to have the scroll bar jump around like a Mexican jumping bean as new items are constantly being added. This behavior is especially vexing because you don’t know when the list is finally fully loaded, and since it takes longer to load then it used to, you’re always frustrated by the jerky UI. This is so frustrating, because this is a problem that’s really easy to solve. Loading asynchronously is the right choice… but this could be done as soon as the IDE is opened and the results cached. The list should only be populated once all of the items have been added to the cache. The user would then be able to refresh this cache if, in the corner case, there were some change to the actual assemblies that would be available. Problem solved. The user will rarely have to wait for this stupid dialog, and will never be annoyed by an unusable UI. Boy, I hope they fix this before shipping. :(


  • wekempf said

    I'm all for search/filter capabilities, but this WILL NOT fix this dialog. Today, you do an exact search. Just focus the list, and start typing. Selection will find the item that matches what you type. Try to do that with the RC build. I can't tell you how many times I've tried this, just to have the type I'm searching for not yet be in the list. A filter would help here, as once the item I'm filtering to IS in the list, it will be visible and selectable. That still doesn't fix the dialog, because the amount of time I have to wait for the item to get into the list is now LONGER than it was in previous versions. At best, we're back to things being as bad as they were before depending on how you weigh the various reasons for using the dialog and how long it takes. Having things be as bad as they were before is not a fix. Though I'd have to admit that I'd settle for things being exactly as they were before over how they are now.

  • Andrew Smith said

    After all the logged issues against the Add Reference dialog I cannot believe they did not address this. There was a single connect bug that listed multiple shortcomings in this dialog and they fixed/changed 1 insignificant piece and marked it fixed. I think we need to get them to reopen that issue.

Add a Comment