Data visualizations in Visual Studio for Mac

Important

Visual Studio for Mac is scheduled for retirement on August 31, 2024 in accordance with Microsoft’s Modern Lifecycle Policy. While you can continue to work with Visual Studio for Mac, there are several other options for developers on Mac such as the preview version of the new C# Dev Kit extension for VS Code.

Learn more about support timelines and alternatives.

Visual Studio for Mac includes UI support for the debugger, allowing visualizations of the values of a variable, field, or property while debugging. These data visualizers show an extended version of the data and allow developers to inspect known structures, for example showing the color of a color struct.

Visualizers in the debug Locals window can be displayed by clicking on the preview icon that appears to the right of the value, when the user hovers over the row:

Locals Window

The list below looks at many of the new visualizations available when debugging in Visual Studio for Mac.

Point

A Point/PointF, or CGPoint in iOS and Mac, will render as a tuple showing the X and Y values in the debug windows:

Point Visualization

Size

A Size/SizeF, or CGSize in iOS and Mac, will render as a rectangle. It is drawn to scale until a dimension grows past 250 px, at which point it will scale the rectangle with the largest dimension as 250 px:

Size Visualization

Rectangle

A Rectangle/RectangleF, or CGRect in iOS and Mac, will display the dimensions and origin. Similar to Size, it is drawn to scale, until a dimension grows past 250 px:

Rectangle Visualization

Coordinate

Coordinates are plotted on a map, with the location pinned to the center:

Coordinate Visualization

Color

This will display UIColor, CGColor, and Color properties, depicting the color preview, RGBA components, Hue-Saturation-Lightness values, and the hex value of the color:

Color Visualization

Images

Media will be rendered to scale, up to a maximum dimension of 250 px, and will be scaled to fit when the image exceeds 250 px:

Image Visualization

Bezier Curves

The visualizer will display an NSBezierPath:

Bezier Curve Visualization

String

A string of fewer than 100 characters is displayed in full, without a preview. Longer strings are displayed in full in the preview. Strings are editable, and the visualizer is accompanied by an edit button, allowing the string value to be edited either in the preview or in the String Value Editor, shown below:

String Visualization

Small Strings:

Small String Visualization]

Medium-length Strings:

Medium String Visualization

Editor:

Editor Visualization

IEnumerable

IEnumerable enumerates all values; the values of each can be viewed by clicking the Show Values button. The IEnumerable option will not display values for objects such as Array, ArrayList, List<>, Dictionary<,> as these have their own debugger visualizers.

IEnumerable Visualization

Other Visualizers

Some other types that also have their own inline visualizers are listed below:

Other Visualization

  • Primitives
    • This will show the raw value of the primitive type.
  • Enum
    • This will display the field value without the enum Type qualifier.
  • Tuple
    • Displayed in the format (,)
  • Null
    • Shows "null" value.
  • URL
    • This will display a clickable hyperlink.
  • IntPtr
    • This will display a hexadecimal representation of the IntPtr.

See also