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 |