clear debug panel trees on debugger continue

This commit is contained in:
Matt Parker
2025-12-14 19:11:55 +10:00
parent c122af1e92
commit 5eac3ce445
3 changed files with 10 additions and 3 deletions

View File

@@ -171,24 +171,28 @@ public class DebuggingService
{
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding);
var nextRequest = new NextRequest(threadId);
GlobalEvents.Instance.DebuggerExecutionContinued.InvokeParallelFireAndForget();
_debugProtocolHost.SendRequestSync(nextRequest);
}
public async Task StepInto(int threadId, CancellationToken cancellationToken)
{
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding);
var stepInRequest = new StepInRequest(threadId);
GlobalEvents.Instance.DebuggerExecutionContinued.InvokeParallelFireAndForget();
_debugProtocolHost.SendRequestSync(stepInRequest);
}
public async Task StepOut(int threadId, CancellationToken cancellationToken)
{
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding);
var stepOutRequest = new StepOutRequest(threadId);
GlobalEvents.Instance.DebuggerExecutionContinued.InvokeParallelFireAndForget();
_debugProtocolHost.SendRequestSync(stepOutRequest);
}
public async Task Continue(int threadId, CancellationToken cancellationToken)
{
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding);
var continueRequest = new ContinueRequest(threadId);
GlobalEvents.Instance.DebuggerExecutionContinued.InvokeParallelFireAndForget();
_debugProtocolHost.SendRequestSync(continueRequest);
}

View File

@@ -15,6 +15,7 @@ public class GlobalEvents
public EventWrapper<SharpIdeProjectModel, Task> ProjectStartedRunning { get; } = new(_ => Task.CompletedTask);
public EventWrapper<SharpIdeProjectModel, Task> ProjectStoppedRunning { get; } = new(_ => Task.CompletedTask);
public EventWrapper<ExecutionStopInfo, Task> DebuggerExecutionStopped { get; } = new(_ => Task.CompletedTask);
public EventWrapper<Task> DebuggerExecutionContinued { get; } = new(() => Task.CompletedTask);
/// A document changed, project was reloaded etc. Document changes include unsaved changes in the IDE.
public EventWrapper<Task> SolutionAltered { get; } = new(() => Task.CompletedTask);