-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
Support paging of stack frames #4792
Comments
@isidorn I've added paging support to the debug protocol, vscode and node-debug. |
@isidorn backward compatibility: if |
@stevencl I think we need your help with the UX for this: I think we should at least use a different font face, e.g. Italic to make it clear the "Load more stack frames" is not a frame but an action. |
Is there a cost to loading the additional stack frames? If not, I wondered if it might be worth loading the additional stack frames automatically when the user scrolls to the bottom of the call stack? If there is a cost I would do a little clean up:
|
@stevencl thanks, these are great suggestions. Loading stack frames might be expensive. It depends on the debug adapter, so we don't really know in the frontend. |
@stevencl great suggestions, thanks! @weinand @stevencl I was also thinking of loading more stack frames once the user scrolls all the way down (similar to how Joao is loading more extensions on scroll down in quick open). As Andre pointed out we do not know how expensive this operation can be. But let me know your preference if I should try to load more on scroll down or go with the current solution + Steven's suggestions |
@isidorn Because loading those frames is expensive we would have to make sure not to load more than the 20 frames initially (even if more than these 20 would fit into the view). So only scrolling should trigger loading more. |
@weinand yes I agree the solution is not so nice in that case. We would always have to load as much as the view can show to make the user experience nice. However since this operation is expensive I would go with the explicti load more action as we have it today + polish from Steven. |
Good point @weinand I didn't think of that. It makes more sense then to go with the load more button at the bottom of the list. |
@isidorn lets go with the "more action" for now. Here is more detail about the underlying node.js problem: dependent on what version of node the user is running, it actually could make node.js totally unresponsive because node.js tries to move tons of datastructures over the wire in an uncontrollable way. For newer versions of node, VS Code is able to inject code that prevents this, but in older versions it cannot. In this case the UI would not freeze, but the debugging could grind to a halt. To reduce the likelihood of this, we only show 20 frames (that's even more than node's default of 10). |
@stevencl I addressed your feedback with the exception that I still allow the 'Load more stack frames' to be selectable since it has to be keyboard accessible like all our other actions. I just now nicely clear the selection and focus upon clicked. |
Currently we show only a fixed number (20) of frames of a stack trace.
We should improve this in the following way:
The text was updated successfully, but these errors were encountered: