diff --git a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs index 0a949e5e63f..dbeafd0f676 100644 --- a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs +++ b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs @@ -108,8 +108,22 @@ namespace GodotTools.ProjectEditor var normalizedInclude = include.NormalizePath(); - if (root.RemoveItemChecked(itemType, normalizedInclude)) - root.Save(); + var item = root.FindItemOrNullAbs(itemType, normalizedInclude); + + // Couldn't find an existing item that matches to remove + if (item == null) + return; + + var glob = MSBuildGlob.Parse(item.Include); + + // If the item include uses globbing don't remove it + if (!string.IsNullOrEmpty(glob.WildcardDirectoryPart) || glob.FilenamePart.Contains("*")) + { + return; + } + + item.Parent.RemoveChild(item); + root.Save(); } public static void RenameItemsToNewFolderInProjectChecked(string projectPath, string itemType, string oldFolder, string newFolder)