pub struct Variable {
pub name: String,
pub value: String,
pub type_field: Option<String>,
pub presentation_hint: Option<VariablePresentationHint>,
pub evaluate_name: Option<String>,
pub variables_reference: i64,
pub named_variables: Option<i64>,
pub indexed_variables: Option<i64>,
pub memory_reference: Option<String>,
}Expand description
A Variable is a name/value pair.
The type attribute is shown if space permits or when hovering over the variable’s name.
The kind attribute 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 variables request.
If the number of named or indexed children is large, the numbers should be returned via the
namedVariables and indexedVariables attributes.
The client can use this information to present the children in a paged UI and fetch them in chunks.
Fields§
§name: StringThe variable’s name.
value: StringThe variable’s value. This can be a multi-line text, e.g. for a function the body of a function. For structured variables (which do not have a simple value), it is recommended to provide a one-line representation of the structured object. This helps to identify the structured object in the collapsed state when its children are not yet visible. An empty String can be used if no value should be shown in the UI.
type_field: Option<String>The type of the variable’s value. Typically shown in the UI when hovering
over the value.
This attribute should only be returned by a debug adapter if the
corresponding capability supportsVariableType is true.
presentation_hint: Option<VariablePresentationHint>Properties of a variable that can be used to determine how to render the variable in the UI.
evaluate_name: Option<String>The evaluatable name of this variable which can be passed to the evaluate
request to fetch the variable’s value.
variables_reference: i64If variablesReference is > 0, the variable is structured and its children
can be retrieved by passing variablesReference to the variables request
as long as execution remains suspended. See Lifetime of Object References
in the Overview section of the specification for details.
named_variables: Option<i64>The i64 of named child variables. The client can use this information to present the children in a paged UI and fetch them in chunks.
indexed_variables: Option<i64>The i64 of indexed child variables. The client can use this information to present the children in a paged UI and fetch them in chunks.
memory_reference: Option<String>The memory reference for the variable if the variable represents executable
code, such as a function pointer.
This attribute is only required if the corresponding capability
supportsMemoryReferences is true.