From 0dad664d1553b2668ae0395cc5bfad252f5d2e9b Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Mon, 3 Nov 2025 01:08:38 +1000 Subject: [PATCH] Update NugetPanel.cs --- .../Features/Nuget/NugetPanel.cs | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs b/src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs index 73002bc..491180f 100644 --- a/src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs +++ b/src/SharpIDE.Godot/Features/Nuget/NugetPanel.cs @@ -59,31 +59,8 @@ public partial class NugetPanel : Control _ = Task.GodotRun(async () => { if (_solution is null) throw new InvalidOperationException("Solution is null but should not be"); - _ = Task.GodotRun(PopulateSearchResults); - - _ = Task.GodotRun(async () => - { - var project = _solution.AllProjects.First(s => s.Name == "ProjectA"); - await project.MsBuildEvaluationProjectTask; - var installedPackages = await ProjectEvaluation.GetPackageReferencesForProject(project); - var idePackageResult = await _nugetClientService.GetPackagesForInstalledPackages(project.ChildNodeBasePath, installedPackages); - var scenes = idePackageResult.Select(s => - { - var scene = _packageEntryScene.Instantiate(); - scene.PackageResult = s; - scene.PackageSelected += OnPackageSelected; - return scene; - }).ToList(); - await this.InvokeAsync(() => - { - foreach (var scene in scenes) - { - var container = scene.PackageResult.InstalledNugetPackageInfo!.IsTransitive ? _implicitlyInstalledPackagesItemList : _installedPackagesVboxContainer; - container.AddChild(scene); - } - }); - }); + _ = Task.GodotRun(PopulateInstalledPackages); }); } @@ -111,4 +88,27 @@ public partial class NugetPanel : Control } }); } + + private async Task PopulateInstalledPackages() + { + var project = _solution!.AllProjects.First(s => s.Name == "ProjectA"); + await project.MsBuildEvaluationProjectTask; + var installedPackages = await ProjectEvaluation.GetPackageReferencesForProject(project); + var idePackageResult = await _nugetClientService.GetPackagesForInstalledPackages(project.ChildNodeBasePath, installedPackages); + var scenes = idePackageResult.Select(s => + { + var scene = _packageEntryScene.Instantiate(); + scene.PackageResult = s; + scene.PackageSelected += OnPackageSelected; + return scene; + }).ToList(); + await this.InvokeAsync(() => + { + foreach (var scene in scenes) + { + var container = scene.PackageResult.InstalledNugetPackageInfo!.IsTransitive ? _implicitlyInstalledPackagesItemList : _installedPackagesVboxContainer; + container.AddChild(scene); + } + }); + } } \ No newline at end of file