Re: [Pydev-code] [ANN] Pydev and Pydev Extensions 1.0.2 release
Brought to you by:
fabioz
|
From: Fabio Z. <fa...@gm...> - 2006-02-17 09:56:48
|
On 2/16/06, Bill Baxter <wb...@gm...> wrote:
>
> Hi there,
Hi Bill,
On 2/17/06, Fabio Zadrozny <fa...@es...> wrote:
> >
> >
> > - New feature in the debugger: the console is available for probing whe=
n
> > in 'suspendend mode'
> >
> > This is a pretty great addition. How hard would it be to make it act
> more like a full-featured shell? I.e.,
> - have a promt so you can tell tell that it's waiting for your input,
Should not be so hard...
- 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 somethin=
g
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 =3D 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 evaluat=
e
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.
- print out the value of variables by just typing the variable name (instea=
d
> of having to type "print variable_name")
Probably doable
- 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)...
- auto-completion of symbols
Same as the one before
Ideally it would be nice to just have something like pycrust right there in
> a tab instead of "Console". Stani's Python Editor has pycrust built-in l=
ike
> that, but unfortunately it's not connected in any way to your executing
> program, so it's not so useful.
Well, I'll soon have a replacement for pycrust, to help you do
'quick-scripts' in a scrap-page... something as the java scrap-page, but
I'll have to see how to connect it to the debugger shell.
The ultimate debugger, based on debuggers I'm familiar with, would be a
> hybrid of that in VisualStudio crossed with Matlab. VisualStudio does
> variable and watches nicely. It's got a list (several lists actually) li=
ke
> Eclipse's 'Expressions', but you can double click to add a new expression=
or
> edit an expression. Eclipse is pretty close there, just needs a more
> efficient way to edit the expressions. The Matlab debugger, on the other
> hand, completely lacks an expression list, but its best feature is that w=
hen
> you hit a breakpoint, you just have your normal interactive shell prompt
> there with all it's features, plus all your program's state loaded in
> memory.
Well, I hope I'll get to there ;-)
This is an excellent debugging model for a dynamic programming language in
> my opinion. If there's some error on the current line, you can quickly t=
ry
> out a bunch of variations to figure out what the proper expression is to =
get
> the result you want, using the actual data from your program, without hav=
ing
> to cook up a stand-alone test case that creates data similar to what's in
> your program.
Agreed... but I'd probably do the stand-alone test-cases anyway ;-)
Regards,
> Bill Baxter
>
Regards,
Fabio Zadrozny
|