Visual Studio provides options that let the user configure how stack traces and values are displayed. These settings are provided to the debug adapter via the ValueFormat
and StackFrameFormat
objects. The debug adapter should use the provided settings to format the value provided to Visual Studio.
To support custom value formatting, a debug adapter must:
true
for the supportsValueFormattingOptions
field in the Capabilities
object returned in response to the initialize
request.ValueFormat
and StackTraceFormat
objects to format stack traces and values as requested.A ValueFormat
object is provided as a format
argument to the evaluate
, setExpression
, setVariable
, and variable
requests, and contains the following fields:
hex
boolean Indicates that values should be provided in base-16. rawValue
boolean Indicates that string values should not have any formatting applied. For instance, newlines should not be replaced with a string like "\n".
A StackFrameFormat
object is provided as a format
argument to the stackTrace
request, and contains the following fields:
hex
boolean Indicates that values should be provided in base-16. parameters
boolean Indicates that parameters should be included. parameterTypes
boolean Indicates that parameter types should be included. parameterNames
boolean Indicates that parameter names should be included. parameterValues
boolean Indicates that parameter values should be included. line
boolean Indicates that the line number should be included. module
boolean Indicates that the module name should be included. includeAll
boolean Indicates that all stack frames should be included, even those the debug adapter might otherwise hide.
If no format
argument is provided, the debug adapter should use its default formatting behavior.
Assume the existance of a method called MyMethod
, with an integer parameter parameter1
and a boolean parameter parameter2
, defined in the module MyModule
. If this method called with parameters "42" and "false", the corresponding stack frame could be formatted as follows:
hex
parameters
parameterTypes
parameterNames
parameterValues
line
module
Example StackFrame.name
value provided by adapter false
false
false
false
false
false
false
MyMethod false
false
false
false
false
true
true
MyModule!MyMethod Line 3 false
true
false
false
false
true
true
MyModule!MyMethod() Line 3 false
true
true
false
false
true
true
MyModule!MyMethod(int, bool) Line 3 false
true
true
true
false
true
true
MyModule!MyMethod(int parameter1, bool parameter2) Line 3 false
true
true
true
true
true
true
MyModule!MyMethod(int parameter1 = 42, bool parameter2 = false) Line 3 true
true
true
true
true
false
false
MyMethod(int parameter1 = 0x2A, bool parameter2 = false)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4