Improving variables view

Vladimir Prus ghost at cs.msu.su
Mon Jun 6 12:39:06 UTC 2005


Hello,
I've some ideas for improving the variables view, and would like to
discuss them here.

1. The first proposal is to remove the frames from the variables view.
The rationale is that 
   - there's already framestack widget to select a frame
   - it leads to http://bugs.kde.org/show_bug.cgi?id=68015
   - the overall look is a bit cluttered

If frames are removed, then variables view will just update whenever you
select a different frame, showing locals of that frame.

2. Probably it's just me, but when I started playing with kdevelop's debugger,
the most uniniutive thing for me was "how do I print the value of an 
expression". Yes, there is "add watch" functionality but in command line gdb:
- the corresponding feature is called "display", and "watch" is breakpoint of
  variable change
- I use both "print" and "display"; sometime I just want to look at a value
  of expression and don't need it after that. 

I realize that in GUI we have more space, so displaying several expressions is 
not that bad. But what if I don't want to update the value of expression? 
Say, I print the value of 'p' at the beginning of function and don't want the
value to be recalculated as I step though the function? So, I suggest having 
two buttons in variables view "Evaluate" and "Watch".

3. Related to above, as I debug I sometime write down interesting values on 
the paper. Say "m->rules" was 0x12345678 at this point of program. Maybe, 
with GUI we can avoid using paper. Say, I enter "m->rules" and click "print 
value" button. The value is shown in var view under "recent expressions" 
title. I can click on expression and rename it to "m->rules (function 
entry)", or whatever makes sense to me. In this case, it's reasonable to not 
reevaluate the value.

4. Making values of variables editable would be nice.

The mockup of my suggestions can be found at:

    http://zigzag.cs.msu.su/~ghost/variables.png

Comments?

- Volodya





More information about the KDevelop-devel mailing list