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

DebugAdapter variables overhaul #793

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

MichaelXt
Copy link
Contributor

@MichaelXt MichaelXt commented Feb 13, 2025

Fixes multiple issues with variables window for godot 4 projects.
vscode-godot-vars

Note: there is a great initiative of bringing DAP implementation directly into godot debug engine: https://github.com/godotengine/godot/blob/af56d6e8e88e56110577f3bbcfa2eb5cdcc71356/editor/debugger/debug_adapter/debug_adapter_protocol.cpp by @rsubtil and others. We will still need the backward-compatible implementation for now, which also includes remote scene inspector. In future, once the godot server DAP implementation matures, and where will be no need for backward compatibility, we should switch directly to it.

  • Redesigned the representation of godot objects to match internal structure of godot server
  • Lazy evaluation for the godot objects
  • Stack frames now can be switched with variables updated

@MichaelXt MichaelXt changed the title DebugAdapter variables overhauld DebugAdapter variables overhaul Feb 13, 2025
@MichaelXt MichaelXt marked this pull request as ready for review February 13, 2025 02:47
@DaelonSuzuka
Copy link
Collaborator

Thanks for linking that issue, I haven't been following engine development that closely so I didn't know this was happening.

Will the DAP implementation support the remote scene inspector?

@MichaelXt
Copy link
Contributor Author

MichaelXt commented Feb 13, 2025

@MichaelXt
Copy link
Contributor Author

MichaelXt commented Feb 13, 2025

  • Better presentation for arrays (in-line values, like in vscode javascript DAP)
  • Callable and Signal vars are now displayed (though not expandable)

image

  • Recursive Node references can be viewed properly:

image

@MichaelXt
Copy link
Contributor Author

Thanks for linking that issue, I haven't been following engine development that closely so I didn't know this was happening.

Will the DAP implementation support the remote scene inspector?

I'm not sure - just found by looking at the code. @rsubtil should know better.

@DaelonSuzuka, could you review/recommend who can review this PR? Thanks again for maintaining and improving this extension, it is very useful!

@DaelonSuzuka DaelonSuzuka self-requested a review February 14, 2025 02:12
@DaelonSuzuka
Copy link
Collaborator

Yeah I'm gonna review it tomorrow or this weekend.

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

Successfully merging this pull request may close these issues.

2 participants