Thursday, May 13, 2010

"Add new expression" inline in Expressions View

The debugger expressions view has a new feature: the ability to add a new expression without opening a dialog. When user clicks on "Add new expression" entry, a cell editor is activated to enter the new expression.

I hope most people will appreciate this little convenience but since introducing it few months ago I got one complaint and a request to make it optional. What do you think? Is it worth adding yet another preference to try to make everyone happy?


  1. As the current implementation stands it's pretty much optional anyway.

    You can continue to work in the old way, or use the feature. To use it you have to make a conscious decision to click on the cell. If you don't want to use it, just don't click there.

    I don't think that Eclipse needs yet another preference to control this. It's an unfortunate reality that preference bloat is a plague many open source projects suffer from.

  2. I don't think it needs a preference either. What specifically was the lone complainer's issue with the way it is? I find it very hard to imagine anyone being genuinely offended by one less popup.

  3. I do see the reporter's point about the "Add new expression" blending visually with the expanded tree item above it. I attached mockup to the bug which uses an icon to help clarify things.

  4. What if list of expressions is so big that user has to scroll?

    Shouldn't "add new expression" be always visible?

    If I expand some expressions (and in that way notify the tool that I'm focused on them) will they be visible by default even if they are in the middle of the long list?

  5. Thank you all for the feedback. I hope that Andrew's suggestion will help address the bug.

    > Shouldn't "add new
    > expression" be always
    > visible?
    > ...

    The "Add new expression" entry is treated like any other entry in the tree, except it's always listed last.

    The debugger views attempts to keep the expansion and scroll position as user switches between frames/threads as well as it can, but this feature is not 100% reliable.