Feature Request: Jump To Drop Down Selection
This is essentially the same feature request that @rorourke raised back in December 2024.
Personally, I'd really like to have all three navigation options available, since I think each one serves a somewhat different purpose:
- Go to Member — which is already excellent for displaying all members in one searchable list, with the filter box making it easy to quickly narrow that list down.
- A Visual Studio-style Navigation Bar — with a Member dropdown and, ideally, a separate Type dropdown.
- A Document Outline / TreeView — similar to the TreeView you mentioned in the original thread, showing the structure of the current query in a persistent hierarchical view.
I don't really see these as competing features. Go to Member already provides a very effective searchable list of the members in the current query. The Navigation Bar and Document Outline would provide different ways of presenting and accessing that same structural information.
The Navigation Bar would be useful as an always-available, compact way to glance through the current types and members and jump directly to one without opening a separate navigation window.
One addition that I think could make the Navigation Bar particularly useful in LINQPad would be an option — perhaps a checkbox or similar toggle — to switch between showing members from only the current script and showing members from all currently open scripts.
With that enabled, the dropdowns could potentially group or otherwise identify members by query/script, allowing them to double as a quick navigation mechanism between open queries. For someone working with several related LINQPad scripts at once, being able to select a type or member from another open script and have LINQPad activate that query and navigate directly to it could be extremely convenient.
A Document Outline / TreeView, on the other hand, could provide a persistent hierarchical view of the current query's structure while editing.
Those differences become especially useful with larger Program-mode queries containing a significant number of methods, properties, nested types, event handlers, etc. Depending on what I'm doing, sometimes I want to search for a particular member, sometimes I want to quickly browse the available members, and sometimes I'd simply like to keep the overall structure of the query visible.
If the concern is adding UI clutter, perhaps each of the new elements could simply be optional. For example, separate settings could control whether LINQPad displays:
- Type dropdown
- Member dropdown
- Document Outline
The Navigation Bar could then have its own simple Current Script / All Open Scripts option for controlling its scope.
That would leave the existing streamlined UI unchanged for anyone who prefers it, while allowing users who work with larger queries — or several related queries at once — to enable whichever navigation aids they find useful.
For me personally, the Type/Member dropdowns would probably get the most use. I frequently use LINQPad for fairly substantial Program-mode scripts, and having a compact, always-available list of the types and members currently defined in the query is one of the Visual Studio conveniences I notice most when switching between Visual Studio and LINQPad.
Being able to optionally extend that list across all open queries would make it even more useful in LINQPad, where it's common to have several related scripts open side-by-side.
The TreeView / Document Outline you mentioned in the original post would also be a great addition, particularly if it could remain visible while editing.
LINQPad has become capable enough that, as you already know from our conversations, I increasingly find myself writing things in it that I might previously have put into a small Visual Studio project. Features like these would make navigating those larger queries even more comfortable, while complementing rather than replacing the existing Go to Member workflow.
Thanks, Joe.
