-
-
Notifications
You must be signed in to change notification settings - Fork 222
DebugAdapter variables overhaul #793
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
Conversation
Fixes the VSCode watch window freeze due to missing response in case of exception. See related godotengine#779
|
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? |
|
Should fix:
Doesn't fix:
|
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! |
|
Yeah I'm gonna review it tomorrow or this weekend. |
|
I should know better than to put time estimates into github comments. I'll definitely get to it this weekend, though. |
Sorry for the delay; the DAP backend in Godot is basically complete ever since the first implementation, and it didn't have much further work since then. The only really big addition recently was some improvements in object inspection and REPL functionality (godotengine/godot#97585). The issue with the remote scene inspector is that it is a Godot specific feature, and DAP is agnostic, so there is no way from my understanding to map it into an existing structure. But, you can actually access Godot specific data from DAP, as I've implemented a custom capability precisely for these scenarios. It should still be working (but from my knowledge hasn't been used yet on any plugin, so it definitely needs some testing): https://gist.github.com/rsubtil/01067153db5608d48773719fa63ab2b8#expose-godots-custom-communication |


Fixes multiple issues with variables window for godot 4 projects.

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.