Debugger enhancements ideas
Couple of ideas to improve our debugger:
- [x] Datatip for local bindings: https://github.com/JunoLab/Atom.jl/pull/173
- [ ] Inline evaluation including local bindings during debugging?:
- it would be nice if selection-based inline evaluation can handle local bindings in a current scope function (as in the debugger prompt)
- ~~[ ] Reverse the order of workspace items stack ?: https://github.com/JunoLab/Atom.jl/pull/175~~: Discarded
- [ ] Watch list
- Debugger.jl already has this feature: it would also be much fancier if we can use this feature in Juno as well with a friendly UI.
- ~~[ ] Complete local completions:
MethodCompletions/ModuleCompletionsetc including local bindings: https://github.com/JunoLab/Atom.jl/pull/181~~: Discarded- keeps as my startup script
Feel free to add your own :)
If I may add: A visual indicator that the file being stepped through is not the same code the debugger is running. (Not saved or module needs to be recompiled).
@BioTurboNick: related, https://github.com/timholy/Revise.jl/pull/345. But that won't help with the "not saved" part.
May I add idea to execute code in debug by ctrl+enter? Now when I am at breakpoint and want to execure code, I need to copy-paste it into the REPL, becaue ctrl+enter tried to execute it in global context, even during debugging.
yeah I guess that's would be good and could easily be implemented. Will try to do when I have time.
Here's one: allow debugger to start at the top script level by clicking a button.
Naively this can be done by wrapping the whole script in a function and Juno.@enter that function. However I'm not sure how global can be dealt with, and I recall the scope rules are different at global vs. inside a function, so it's probably more complicated than that.