dotnet / dotnet/roslyn

EnC: Visualize changed statements that have not been executed yet

Open
#75,110 0 comments 1 reaction 1 assignee Claimed by @tmat View on GitHub
Feature Request Interactive-EnC
Dominant language
C#
Stars
20.7k
Forks
4.3k
PR merge metrics
PR metrics pending

Description

When making multiple changes in a large application during debugging it might be difficult to keep track of which changed statements have already been executed and which ones have not. The user might not realize that certain changes did not take effect in the app because the code has not been executed. Some examples include:

- an update to an entry-point or other code path that only executes once wouldn't have any effect on the app until the app is restarted or re-initialized (we now report warning for entry-point methods, which are easy to determine at compile-time, but other run-once code may not be)
- an update to a static field initializer does not have an effect after the type has been loaded.
- an update to a field initializer only affects new instances of the type
- update to a variable assignment does not change the value of the variable until the assignment is re-executed
- in Hot Reload mode, an update to a method body only affects new invocations of the method

We can assist the user with determining which changes have been executed. We would display adornments in the editor UI that allow the user to immediately see the state of each changed statement.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.