Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a view like Call Hierarchy for Data Flow Analysis (aka Value Tracking) #25994

Closed
sharwell opened this issue Apr 6, 2018 · 3 comments
Closed
Assignees
Labels
Area-IDE Dev17 IDE Priority Feature Request InternalAsk Need Design Review The end user experience design needs to be reviewed and approved.
Milestone

Comments

@sharwell
Copy link
Member

sharwell commented Apr 6, 2018

This view would be launched when a user selects a value declaration or reference as opposed to a method declaration or reference. It would then be populated using the new Data Flow Analysis functionality of Roslyn.

@jinujoseph jinujoseph added this to the Unknown milestone Apr 22, 2018
@sharwell sharwell changed the title Create a view like Call Hierarchy for Data Flow Analysis Create a view like Call Hierarchy for Data Flow Analysis (aka Value Tracking) Apr 3, 2019
@sharwell sharwell added InternalAsk Need Design Review The end user experience design needs to be reviewed and approved. labels Apr 3, 2019
@sharwell
Copy link
Member Author

sharwell commented Apr 3, 2019

Additional scenarios from #34566:

Scenarios:

  1. If I change the value of this variable, what code in which methods will be impacted?
  2. We hit a NullReferenceException due to some parameter or other variable being null. How could this have happened? Where and from which methods could this value have come from? (The value doesn't have to be null, could be any other constant value, but null is probably the most common case)

@mikadumont
Copy link
Contributor

mikadumont commented Feb 16, 2021

Proposal

  1. Add a right-click menu option called View Value Origin along with a shortcut to View Value Origin

  2. Entry point on members: property, field, local variable, captured variables, parameter, events

  3. Right click on a member which will open the right click menu with the View Value Origin option:
    image

  4. The View Value Origin command will always be visible in the right click menu and if the user selects the View Value Origin menu option and their cursor isn’t on a member they will get a warning dialog.

  5. Selecting View Value Origin will open the Value Origin Window. The member where you invoke View Value Origin will show up at the top highlighted and expanded by default. The following node will be closed by default. The Value Origin results window should show the file name, line number, class name, method name, and the value. The value should be bold.

@ryzngard
Copy link
Contributor

@mikadumont marking this as closed with the release of value tracking. Future work or improvement should have a separate issue

@sharwell sharwell moved this to Need Update in IDE: Design review Aug 22, 2023
@CyrusNajmabadi CyrusNajmabadi moved this from Need Update to Complete in IDE: Design review Oct 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-IDE Dev17 IDE Priority Feature Request InternalAsk Need Design Review The end user experience design needs to be reviewed and approved.
Projects
Status: Complete
Development

No branches or pull requests

6 participants