I like Python and I like Spyder but I find debugging with Spyder terrible!
(Spyder dev here) We're aware the debugging experience in Spyder is far from ideal. What we offer right now is very similar to the standard Python debugger, but we're working to improve things in our next major version to provide something closer to what any scientist would expect of a debugger (in short, a regular IPython console that lets you inspect and plot variables at the current breakpoint).
Now about your points:
It's true. We're thinking to improve that so that if the user press the Run button, and there is a breakpoint present in the current file, then Spyder enters in debug mode and executes the program until the first breakpoint is met.
ipdb is the IPython debugger console. Unfortunately, due to limitations in the IPython architecture, it's very limited (no code completion and no history browsing with arrows). Furthermore, it's not possible to run arbitrary Python code in either
ipdb or a regular
pdb console. The commands you can run in
ipdb are the ones you can read when evaluate the
help command inside it.
That's because, as I said, you can't evaluate arbitrary Python code.
You need to put new breakpoints in our Editor so that they are synced with our Python/IPython consoles