package search dialog in VS leads me into pits of failure


In NuGet 2.2 or 2.5

-I start my new Console app project
-I want to add a reference to NuGet.Core
-I do right-click manage nuget references for this project
-Obviously in my mind, I want to search for NuGet.Core, so I immediately start typing 'nuget.core' (or perhaps 'Ctrl+E nuget.core')
-I see that on the left hand side, 'Online' is not selected, (instead it is e.g. installed! or updates, or again taking me by surprise 'Search Results') so I frantically click NuGet official package source, trying to make it search the right thing.
-This deletes the search text that I just typed, and now jquery is selected
-I am unaware of this... in fact tragically I just pressed <Enter>, because I was expecting that NuGet.Core was going to be the top package search result.
-I am now installing jquery... NOOOOOOO (Unfortunately there is no cancel button. I must undo the jquery add manually.)
A few minutes later I am ready to try the manage nuget references menu option again... much more cautiously! This time when I am cautious, after I click to select the exact package I want installed, instead of clicking the Install button, I actually click the 'close' button, thinking that 'close will mean ok, apply my current selection, right??'
-Nope. Close means cancel! Forget everything I just typed all over again. Sigh. Start over again.

(I've run into these two usability issues not just once, but in fact nearly every time I use the dialog.)
Closed Oct 2, 2013 at 6:58 PM by JeffHandley


tilovell wrote Jun 8, 2013 at 1:18 AM

Actually I assumed I was using 2.5 wrongly. It looks like I'm using 2.2.40116.9051. I don't suppose that means this is fixed already?

tilovell wrote Jun 8, 2013 at 1:22 AM

Nope, no different in 2.5. Note, I must be pressing ctrl+E or clicking the search box to start searching, as the search box doesn't have focus by default.

dotnetjunky wrote Sep 19, 2013 at 11:42 PM

What is the specific issue that you want to get fixed?

dotnetjunky wrote Sep 19, 2013 at 11:43 PM

Some behaviors that you described are from the VS dialog that we use. Unfortunately, we can't fix that.

dotnetjunky wrote Sep 19, 2013 at 11:44 PM

What is the 'close' button that you mentioned? can you post a screenshot?

tilovell wrote Sep 24, 2013 at 4:43 PM

Then I think we should really not use that VS dialog, or we should ask VS to fix it. I honestly think the whole UI here is clunky and hard to use.

Here's a list of issues I specifically want to get fixed:

1) when I am in the view for search UPDATES or INSTALLED packages, and I type a package name like 'http', then click 'ONLINE' in the treeview on the left, my search text should not be erased.

2) when I right-click a new project that has no packages.config and do 'manage nuget packages', it should always take me to search for either INSTALLED or ONLINE packages if it is a brand new project, I never want to search for UPDATES packages, cos there won't be any.

3) when I have typed in 'http' for searching ONLINE tab, and by confusion I click the ONLINE tab again, the search results thing on the left goes away, and I see an unfiltered list of packages, even though http is still there in the search text. This does not make sense! I either want
a) my search text to be deleted, since I did a click action that means go back to unfiltered view, or
b) my search text not to be deleted, and to still be seeing the filtered results, in which case
why did we even show two things in the tree view in the first place? it doesn't make sense!!

4) when I do a search and press ENTER, if I press ENTER really fast, nothing happens except I get search results, but if I press ENTER slower, after search results appear, the package gets installed?! Even though it looks like the search box still has focus! This has caused me to accidentally install packages on multiple occasions. What I expect is that (like google) pressing ENTER submits your search query if the search box has focus, not installs a package.

5) we should add a CANCEL button which is shown during package installation. Pressing it will
a) stop installing packages
b) uninstall all packages that were being installed by the current action
c) take you back to the package search dialog
this is to make the experience of recovering from accidentally installing the wrong package better.

6) the CLOSE button in the 'manage nuget packages' dialog should be labeled as CANCEL, not CLOSE, since clicking dismisses the dialog with no side effect.