Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test debugging lazy variables #143572

Closed
3 tasks done
roblourens opened this issue Feb 21, 2022 · 1 comment
Closed
3 tasks done

Test debugging lazy variables #143572

roblourens opened this issue Feb 21, 2022 · 1 comment

Comments

@roblourens
Copy link
Member

roblourens commented Feb 21, 2022

Refs: #134450

Complexity: 3

Create Issue


We have changed the debug protocol and VS Code debug UI to allow debug adapters to return a "lazy" variable, which will not have its real value retrieved until the user clicks a button. No "real" debug adapters have implemented this feature yet, so you can test it with the vscode-mock-debug.

  • Install the pre-release https://marketplace.visualstudio.com/items?itemName=ms-vscode.mock-debug or make sure you have at least 0.49.5
  • Open https://github.com/microsoft/vscode-mock-debug/tree/main/sampleWorkspace, debug it, and step through until you reach a variable with "lazy" in its name
  • In the variables view, the variable should not have its real value, but a (...) button. When you click it, the real value should appear
  • Test this variable in all places in the debug UI where a variable appears:
    • Watch, Debug Console, hover: you should see the real value immediately with no button
    • Inline debug values (debug.inlineValues): you should see a placeholder value returned by the DA, in mock-debug's case, "lazy var". When expanding the value in the variables view, the inline value should change
  • When stepping, an expanded lazy var in the variables view should go back to its unexpanded state with the button
@weinand
Copy link
Contributor

weinand commented Feb 23, 2022

@roblourens great stuff!

I've verified (by changing Mock Debug) that an empty value placeholder prevents an inline value from showing.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants