-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Debugging overhaul and redesign #5950
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
Comments
Yes, I plan on using the exact same mechanism as proposed by you. That part (local pane) and the quick watch one would be dependent on either of the two linked PRs. |
@CptPotato proposed a new design for the debug panel,which I like quite a bit. This is what I propose, moving forward: |
Update on the current debug line (#5952). Latest developments lead me to this current implementation, which is a good MVP in my opinion. Further work can be done to improve the ability to customise components such as selection and cursor highlights, but they'll be out of scope for the current PR. |
Update on the default theme. After talking some more with @archseer, we landed on this colour for the debug highlight, which I find beautiful: |
Latest update: #5952 was merged, hope it is a pleasant addition and a nice start to the overhaul! Thanks a lot to @pascalkuthe and @archseer for the help with the issue! |
Would a disasm split or register view be something to consider? Debugging low level code these features in gdb are incredibly helpful |
I hope this proposal is going on, the helix is fantastic, but the debug is really experimental. |
I have had some personal problems keeping me from dedicating sufficient time to tuis initiative. But all should start to clear up during summer, when I plan to get up to date with any progress made and pick it back up. Not sure what progress was made in the meantime though. |
Adding mouse actions like resizing the left pane would be nice, making the side pane windows collapsible would be another awesome addition too. By the way, who's had any luck using the debugger? |
This feature would be amazing! @filipdutescu would it be possible to have also console output to be displayed? This can be also useful to debug console applications that require user input. |
To throw another "good to have" feature on the heap, it would be great if the interface supports data viewers of different languages. E.g. having I just can't find an IDE which does this without problems (RustRover doesn't show C types and in VSCode, Rust debugging is broken with complicated building scenarios). |
Curious what the progress has been here. I love Helix and debugging! |
This addition would be greatly appreciated! The current implementation is just not enough, I cannot list the values for the most part as they overflow from the tiny box I'm presented with. Is there any active work on implementing this or is it still in the idea stage? |
Description
The current debugging experience is less than ideal. While challenges are expected with TUI editors, the current experience is, to put it bluntly, raw. It is hard to launch or stop sessions, view variables, see which line the session is paused at etc. You also have no way to drill down into variable values (or if you have, it is so hidden I have yet to find it) or edit their values during a debugging session.
There is much more that should be done to ensure a smooth experience, including:
target/debug/myexe
) which should be overridable inlanguage.toml
as wellProposal
To address some of those pain points, I propose the following overhaul and redesign:
NOR
,INS
,SEL
: theDBG
mode, which would be basicallyNOR
with extra configurable keybindings for the debugging commands. This would also remove the need for the sticky popup, which could be turned on by a new keybinding, such as?
, for example - Add DBG (Debug) editor mode #5951;Related issues
UI/UX mockups
New UI for debugging:

Help popup (using the current one as example):

Expanding a variable's value (same prompt and cursor highlighting should be used for watches as well):

Quick watch popup:

The text was updated successfully, but these errors were encountered: