How to make Solution Explorer behave after clearing search?
Posted
by
stijn
on Stack Overflow
See other posts from Stack Overflow
or by stijn
Published on 2014-06-02T09:21:12Z
Indexed on
2014/06/02
9:25 UTC
Read the original article
Hit count: 270
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?
© Stack Overflow or respective owner