From 148a897496d8d4130a6d456d7b516deaa1686573 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Thu, 18 Dec 2025 15:35:54 +1000 Subject: [PATCH] format object types nicer in debug display --- ...adsVariablesSubTab.DebuggerVariableCustomDraw.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/SharpIDE.Godot/Features/Debug_/Tab/SubTabs/ThreadsVariablesSubTab.DebuggerVariableCustomDraw.cs b/src/SharpIDE.Godot/Features/Debug_/Tab/SubTabs/ThreadsVariablesSubTab.DebuggerVariableCustomDraw.cs index 9d5f34a..fbc5ddc 100644 --- a/src/SharpIDE.Godot/Features/Debug_/Tab/SubTabs/ThreadsVariablesSubTab.DebuggerVariableCustomDraw.cs +++ b/src/SharpIDE.Godot/Features/Debug_/Tab/SubTabs/ThreadsVariablesSubTab.DebuggerVariableCustomDraw.cs @@ -48,9 +48,14 @@ public partial class ThreadsVariablesSubTab var equalsWidth = font.GetStringSize(equalsString, HorizontalAlignment.Left, -1, fontSize).X; currentX += equalsWidth + padding; var variableTypeDisplayString = $$"""{{{variable.Type}}}"""; - _variablesTree.DrawString(font, new Vector2(currentX, textYPos), variableTypeDisplayString, HorizontalAlignment.Left, -1, fontSize, VariableTypeColor); - var variableTypeDrawnSize = font.GetStringSize(variableTypeDisplayString, HorizontalAlignment.Left, -1, fontSize).X; - currentX += variableTypeDrawnSize + padding; - _variablesTree.DrawString(font, new Vector2(currentX, textYPos), variable.Value, HorizontalAlignment.Left, -1, fontSize, VariableWhiteColor); + var isObjectType = variable.Value == variableTypeDisplayString; // e.g. classes value will be the class name wrapped in {} + if (isObjectType is false) + { + _variablesTree.DrawString(font, new Vector2(currentX, textYPos), variableTypeDisplayString, HorizontalAlignment.Left, -1, fontSize, VariableTypeColor); + var variableTypeDrawnSize = font.GetStringSize(variableTypeDisplayString, HorizontalAlignment.Left, -1, fontSize).X; + currentX += variableTypeDrawnSize + padding; + } + var variableValueDisplayString = isObjectType ? variable.Type : variable.Value; + _variablesTree.DrawString(font, new Vector2(currentX, textYPos), variableValueDisplayString, HorizontalAlignment.Left, -1, fontSize, VariableWhiteColor); } } \ No newline at end of file