I currently have a VS installation with no extensions to see how that works out. For navigation that means making heavy use of Ctrl+;
aka Search Solution Explorer
. While the search itself is ok, it has one major drawback for me that makes it a pain to use for me (both with keyboard and mouse):
Solution with two projects, one collapsed, one opened:
Use Ctrl+;
and start typing until match found from collapsed project
What I want now is to simply clear the search and return to the previous view. Seems like a pretty standard requirement, no? But there seems to be no such functionality built in. Problem with the current commands that come close (pressing Esc
, clicking Back
or Home
buttons in Solution Explorer Toolbar) is all the same: they have the extremely annoying behaviour that they insist on suddenly uncollapsing the previously collapsed project and track the match found! (Btw the Track Active Item in Solution Explorer
option is turned of in the options). This makes no sense from a UX point of view? You select some kind of 'undo' command, the search box clears which is expected, but then suddenly there's an item visible from a previous search:
So if the collapsed project has like 50 items in it, solution explorer is now useless visually since it litters the screen with stuff you don't want to see, and worse you have to manually collapse the project again to return to the previous view.
Is there a way around this? I thought maybe keyboard shortcuts for Back/Home would be different, but the commands do not seem to be registered. I looked into EnvDTE80.DTE2.ToolWindows.SolutionExplorer
but it has no properties/methods that have anything to do with this issue. And somewhere in the tree there is a Microsoft.VisualStudio.PlatformUI.SolutionPivotNavigator
which is probably the class responsible for this behaviour, but I have no idea how to access it?
If you don't see the Solution Explorer tool window, you can open it from the Visual Studio menu bar by using View > Solution Explorer, or by pressing Ctrl+Alt+L.
Double click the . sln file from the Folder View can allow you to switch to the default solution view.
Just drag and drop onto the mechanic and dock the solution explorer window to the left side of the window. You must drop the panel onto the fastener, in the position you wish it to be docked (in the case, the rectangle on the left of the fastener, highlighted with a red circle).
Click on the title bar, and drag it to the right portion of the screen. Eventually you'll see a compas like structure popup. Make sure you hover over the right area and let go of the mouse button. That will bind it to the right side.
Recently updated to VS2013 SP3 and I have the impression there was a change (or I didn't notice this properly earlier, though my question says otherwise): if I use the Back
button in the Solution Explorer view it properly takes me back to the previous view without expanding anything that wasn't expanded before. Using Esc
or clearing the search box still behave the same which is a pitty, but at least if I remember to use just the back button it's workable.
update Not really an answer but since I started using Edit.NavigateTo (which is basically 'Go to Anything' including symbols/files) bound to a keyboard shortcut I found no reason to use Window.SolutionExplorerSearch anymore.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With