open run panel on start

This commit is contained in:
Matt Parker
2025-08-09 02:35:35 +10:00
parent 776907d496
commit ff23f39591
3 changed files with 14 additions and 1 deletions

View File

@@ -2,6 +2,9 @@
public static class GlobalEvents
{
public static event Func<Task> ProjectsRunningChanged = () => Task.CompletedTask;
public static event Func<Task> ProjectsRunningChanged = () => Task.CompletedTask;
public static void InvokeProjectsRunningChanged() => ProjectsRunningChanged?.Invoke();
public static event Func<Task> StartedRunningProject = () => Task.CompletedTask;
public static void InvokeStartedRunningProject() => StartedRunningProject?.Invoke();
}

View File

@@ -52,6 +52,7 @@ public class RunService
project.Running = true;
project.OpenInRunPanel = true;
GlobalEvents.InvokeProjectsRunningChanged();
GlobalEvents.InvokeStartedRunningProject();
await process.WaitForExitAsync().WaitAsync(project.RunningCancellationTokenSource.Token).ConfigureAwait(ConfigureAwaitOptions.SuppressThrowing);
if (project.RunningCancellationTokenSource.IsCancellationRequested)
{

View File

@@ -1,4 +1,5 @@
@using SharpIDE.Application.Features.Build
@using SharpIDE.Application.Features.Events
@using SharpIDE.Application.Features.SolutionDiscovery
@using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence
@using SharpIDE.Photino.Models
@@ -123,6 +124,14 @@
protected override async Task OnInitializedAsync()
{
await LoadSolutionFromInteractivePicker(AppState.IdeSettings.AutoOpenLastSolution);
GlobalEvents.StartedRunningProject += OnStartedRunningProject;
}
private async Task OnStartedRunningProject()
{
_selectedBottomPanel = BottomPanelType.Run;
_bottomDrawerOpen = true;
await InvokeAsync(StateHasChanged);
}
private async Task LoadSolutionFromInteractivePicker() => await LoadSolutionFromInteractivePicker(false);