Suggestion: NaviBar Symbol Scope Filter and Other Improvements
Symbol Scope Filter
Currently NaviBar works that it shows all namespaces and types within the whole solution as well as all the referenced assemblies (framework, nugets).
This is nice, but it is often slow (and sometimes not consistent - depending on which project's document you are accessing NaviBar from - it may show different types and namespaces - i.e. it will not show all types and namespaces from your solution).
It would be nice to perhaps place on the right-most side a dropdown selection of the current filter mode for the NaviBar with the following choices:
- Everything - the way it current works - entire solution + all references - whether framework or nugets
- Current Project/Assembly only
- Current Project + all Dependency Projects (i.e. all user code that includes the current project as well as all the projects the current projects depends on)
- Entire solution - all user code (without any of the framework packages or nugets)
- The inverse of 4: external, non-user-code only - all framework and nuget packages
Obviously all the choices here would exclude the current document since it would always be visible (as well as possibly its partial files and base types).
Regions Support in Search Declaration
It is common to nest multiple small types within #regions for better organization. It would be nice if NaviBar's Search Declaration dropdown would reflect that (currently NaviBar supports regions only within types).
#region R1
interface I1 { }
interface I2 { }
#endregion
#region R2
interface I3 { }
interface I4 { }
#endregion
Should produce the menu:
Region R1
Interface I1
Interface I2
Region R2
Interface I3
Interface I4
It would also be nice to have similar filters (or at the very least in as far as user-code (solution-item) vs framework code / reference distinctions) in the find symbol result list - the pinnable window that appears after searching for some symbols (like all classes that inherit from...)