Value Presentation Hints - microsoft/VSDebugAdapterHost GitHub Wiki

Value Presentation Hints

A debug adapter can provide optional hints to Visual Studio to control how the value of a variable or result of an evaluation is presented via the VariablePresentationHint object. An instance of this object can be provided in the PresentationHint field of a Variable object or the response to an evaluate request.

kind field

The kind field is a string which provides the basic type of the value. Visual Studio uses this value mainly to determine the icon that should be shown next to the representation of the item in the UI. The following values are recognized:

Value Description
property Value represents a property.
method Value represents a method.
class Value represents a class.
data Value represents a field.
event Value represents an event.
baseClass Value represents a base class.
innerClass Value represents an inner or nested class.
interface Value represents an interface.
mostDerivedClass Value represents a "most-derived" class.

attributes field

The attributes field is a string array containing any number of attributes, which provide additional information on a value. Visual Studio recognizes the following attributes:

Value Description
static Value is static.
constant Value is constant.
readOnly Value is read only. Values with this attribute set will not be editable in the UI.
rawString Value is a string. Values with this attribute set will be shown with a "magnifying glass" icon that can be used to open one of several built-in string visualizers.
hasObjectId Reserved for future use.
canHaveObjectId Reserved for future use.
hasSideEffects Indicates that the evaluation that produced this value had side effects. Values with this attribute will not be automatically re-evaluated by Visual Studio, and will instead show a "refresh" icon that can be used to retrieve the latest value.
failedEvaluation Indicates that the value returned by an evaluation represents an error, e.g. because an exception was thrown during the evaluation.

visibility field

The visibility field provides the access modifier of a value. Visual Studio uses this value mainly to determine the icon that should be shown next to the representation of the item in the UI. The following values are recognized:

Value Description
public Value is public.
private Value is private.
protected Value is protected.
internal Value is internal.
final Value is final or sealed.