atom-julia-client icon indicating copy to clipboard operation
atom-julia-client copied to clipboard

debugger keybindings and stuff

Open pfitzseb opened this issue 7 years ago • 2 comments

Just putting this here since I'll forget otherwise.

by @TsurHerman

REPL and debugging and BreakPoints are all very similar concepts Cntrl-enter = Evaluate block = Step over .... and we should also have Cntrl-shift-enter(or some other shortcut) = Evaluate into block = Step into

pfitzseb avatar Dec 24 '16 13:12 pfitzseb

Hi @pfitzseb , just a few more comments. Regarding the keybindings : I am used to f10 = step over . f11 = step into this is the standard in Visual Studio C/C++ and in Matlab. Which were my primary tools for a long time. in anyway it probably should be configurable.

And another thing.. I think the Step Into can be implemented in the REPL without using any additional debugger. For example if you have a "step into" for a function defined in some module . then it can be replaced with a Let definition for the input variables and then just eval'ing the AST for that function in that module.

Probably there are more subtleties but maybe it is doable in that way and if so then the problem of debugging and code engineering will be greatly simplified.

TsurHerman avatar Dec 25 '16 09:12 TsurHerman

The stepping is handled by ASTInterpreter.jl, which is a pure julia dependency and basically does stepping how you describe it. For breakpoints on the other hand we need Gallium.jl, which is a bit more heavy weight.

Re keybindings: They are configurable anyways, but we should still pick sensible defaults. It might actually make sense to have Ctrl-Enter be Step to next line and Ctrl-Shift-Enter be Finish function, since that seems most similar to what they do when evaling code. Only problem with that is that those probably aren't the most commonly used stepping commands...

pfitzseb avatar Dec 25 '16 11:12 pfitzseb