sln explorer set selected fast path

This commit is contained in:
Matt Parker
2026-01-21 01:38:46 +10:00
parent 3a83ed5099
commit 2c65ed0818

View File

@@ -98,6 +98,14 @@ public partial class SolutionExplorerPanel : MarginContainer
{
await Task.CompletedTask.ConfigureAwait(ConfigureAwaitOptions.ForceYielding);
var task = GodotGlobalEvents.Instance.FileSelected.InvokeParallelAsync(file, fileLinePosition);
// First check if the file is already selected
var selectedItem = _tree.GetSelected();
if (selectedItem is not null)
{
var selectedFile = selectedItem.GetTypedMetadata<RefCountedContainer<SharpIdeFile>?>(0)?.Item;
if (selectedFile == file)
return;
}
var item = FindItemRecursive(_tree.GetRoot(), file);
if (item is not null)
{