A ColumnDescriptor specifies what module attribute to show in a column of the ModulesView, how
to format it, and what the column’s label should be.
It is only used if the underlying UI actually supports this level of customization.
An ExceptionPathSegment represents a segment in a path that is used to match leafs or nodes in
a tree of exceptions. If a segment consists of more than one name, it matches the names
provided if ‘negate’ is false or missing or it matches anything except the names provided if
‘negate’ is true.
A GotoTarget describes a code location that can be used as a target in the ‘goto’ request.
The possible goto targets can be determined via the ‘gotoTargets’ request.
A Module object represents a row in the modules view.
Two attributes are mandatory: an id identifies a module in the modules view and is used in a
ModuleEvent for identifying a module for adding, updating or deleting.
The name is used to minimally render the module in the UI.
The ModulesViewDescriptor is the container for all declarative configuration options of a
ModuleView.
For now it only specifies the columns to be shown in the modules view.
A Source is a descriptor for source code. It is returned from the debug adapter as part of a
StackFrame and it is used by clients when specifying breakpoints.
A Variable is a name/value pair.
Optionally a variable can have a ‘type’ that is shown if space permits or when hovering over
the variable’s name.
An optional ‘kind’ is used to render additional properties of the variable, e.g. different
icons can be used to indicate that a variable is public or private.
If the value is structured (has children), a handle is provided to retrieve the children with
the VariablesRequest.
If the number of named or indexed children is large, the numbers should be returned via the
optional ‘namedVariables’ and ‘indexedVariables’ attributes.
The client can use this optional information to present the children in a paged UI and fetch
them in chunks.
This enumeration defines all possible conditions when a thrown exception should result in a
break.
never: never breaks,
always: always breaks,
unhandled: breaks when excpetion unhandled,
userUnhandled: breaks if the exception is not handled by user code.