Skip to content

NavTo: Enhance "Current Document" scope with results from base types and partial types #77051

@sandyarmstrong

Description

@sandyarmstrong

Background and Motivation

A common user pattern in Visual Studio is to configure "Go to Member" in All-in-one Search to use the "Current Document" scope by default. But some users have reported being confused when members from the current type they're looking at don't show up. Typically these additional members are actually declared in base types or partial types, but users often don't memorize which is declared where, and toggling the scope in AIOS is an extra step they don't feel they should have to make.

Including these members in the "Current Document" scope would add data that feels like it is currently missing.

Proposed Feature

Enhance the navigation service used to implement ISearchItemsSourceProvider for AIOS such that when the "Current Document" scope and the "Members" filter is selected, instead of taking it literally, instead include the following:

  • For each type declared (fully or partially, inner or outer) in the current file:
    • All of its members
      • Regardless of which file they are declared in, or whether they come from a base type

Open Questions

Is anything missing from the above list?

The only other thing that came to my mind in the category of "stuff I know this file does but it turns out it's not really from this file" is extension methods, but I don't feel like they make sense here, as they're not really part of the type.

Should this also work for the "Types" filter?

It's probably not as necessary/useful, but perhaps it would be more consistent? I'd probably go with whatever is easier to implement. :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-IDEFeature Requesthelp wantedThe issue is "up for grabs" - add a comment if you are interested in working on it

    Type

    No type

    Projects

    Status

    Completed

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions