- respond after just one 'enter' instead of two, 

The problem is that I have to pass the complete thing to the debugger because it will do an exec in your code, so, if you want to define something as:

def method1():
    print 'foo'

You could not do, because the exec would pass right on the 'def method1():', and you need it only after you defined the whole method... That's so that you can do things like the below in the debugger:
class D:
    def m1(self):
        print 'here'

d = D()
print d

<__main__.D instance at 0x0A6D0E90>

I could still make an option to respond after a single-line, but then you'd not be able to do multi-line statements...
Anyway, I could do some more research to see if there's someway that can make multi-line statements and keep the simplicity of single line statements... Something as a buffer, that determines when it should evaluate the whole thing... maybe as the real console, that detects when it is a multiline and only then passes to the 'eval on new line' approach.

What's wrong with how most shells do it (IDLE, pycrust, standard command line interactive shell) ?
I'm not sure how it's implemented, but basically if the line you type is a complete statement all by itself, then it's executed, otherwise you get a different "continuation" prompt and indented lines to type the rest of the function.  Maybe there's a special exception thrown to indicate an incomplete statement?

- cycle through your command history with keys like up/down-arrow or ctrl-up/down-arrow

I'll need to check if I can override the default Eclipse console used for run... Probably hard though (I had to hack my way into Eclipse just to be able to grab the input)...

Maybe there's a way to make it a completely separate panel type rather than piggy-backing on the console?  (Of course, I don't know anything about Eclipse internals so that may just be impossible).
Keep up the good work!

--Bill Baxter