-
Notifications
You must be signed in to change notification settings - Fork 28.8k
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
debug: surface StackFrame moduleId in the debug CALL STACK UI #193153
Comments
Your proposal seems fine to me! I would take that PR |
Wait a sec, |
Even though the StackFrame spec is not explicitly stating the meaning of Unfortunately, VS Code does not seem to use the Modules Request feature yet. (Correct me if not true) Not many debug adapters implement that either. llvm/llvm-project's lldb-vscode (module id is a uuid) and microsoft/debugpy dap (unique number) are one of the few that has Alternative proposals:
I also tried to format StackFrame's name in a way that can fit better in a narrow debug callstack panel, by placing the module path at the end. But that hides the source location info. That's not great. |
Oh, I misread it. To me it's clear that this is meant to refer to the |
Thanks. Agree that closing the gap is the best. And, about the meaning of |
Go debug adapter (delve) has been using the fully qualified go function names as the stack frame names.
These names include the full package path (e.g.
example.com/foo/bar
) and the function name (e.g.pkg.ACoolFuncName
), and many users requested to shorten the names presented in the CALL STACK view. For example, #178964, golang/vscode-go#2707.One way to handle this is to shorten the name by dropping the full package path.
For example, our contributor is proposing to control this by adding a new launch config setting.
go-delve/delve#3497 I think it makes sense to show the function name,
but I wonder if we can still carry the package info ("module" in other languages).
StackFrame
has themoduleId
field.The current VS Code doesn't seem to utilize this field at all.
How about utilizing the
moduleId
field and surfacing it in the UI?I think the tooltip shown when hovering over the stackframe name is a good option.
Screenshot with a small change in callStackView.ts and a delve-side change:
One concern is it will be surprising for other language debug adapters that use the
moduleId
field already for other purposes.cc @suzmue @stefanhaller @aarzilli
The text was updated successfully, but these errors were encountered: