format object types nicer in debug display

This commit is contained in:
Matt Parker
2025-12-18 15:35:54 +10:00
parent 4c8137d43c
commit 148a897496

View File

@@ -48,9 +48,14 @@ public partial class ThreadsVariablesSubTab
var equalsWidth = font.GetStringSize(equalsString, HorizontalAlignment.Left, -1, fontSize).X; var equalsWidth = font.GetStringSize(equalsString, HorizontalAlignment.Left, -1, fontSize).X;
currentX += equalsWidth + padding; currentX += equalsWidth + padding;
var variableTypeDisplayString = $$"""{{{variable.Type}}}"""; var variableTypeDisplayString = $$"""{{{variable.Type}}}""";
_variablesTree.DrawString(font, new Vector2(currentX, textYPos), variableTypeDisplayString, HorizontalAlignment.Left, -1, fontSize, VariableTypeColor); var isObjectType = variable.Value == variableTypeDisplayString; // e.g. classes value will be the class name wrapped in {}
var variableTypeDrawnSize = font.GetStringSize(variableTypeDisplayString, HorizontalAlignment.Left, -1, fontSize).X; if (isObjectType is false)
currentX += variableTypeDrawnSize + padding; {
_variablesTree.DrawString(font, new Vector2(currentX, textYPos), variable.Value, HorizontalAlignment.Left, -1, fontSize, VariableWhiteColor); _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);
} }
} }