Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Demo and feedback for Expression groups feature

> Hi Marc,
> I gave a demo of the Expression Groups feature to our team in Pune.
> Some feedback and observations are as follows:

Thanks for the feedback.  The below points are valuable.

> 1. Allow user to type a tag for the group, e.g:
> "e*x regs" =$e*x
> This tag will be some mnemonic the user understands, and will be helpful to quickly remember what the expression group contains. A tag is useful because the user might group together arbitrary expressions relevant in a particular debugging scenario and then tag the debug scenario.

I agree that having some kind of tag is very valuable here.  I'm not sure what is the best way to allow the user to add such a tag though.  I like your suggesting of putting the tag directly in-line, since it will require no new UI; however, I am not sure yet how user-friendly this will be.

> 2. On right click popup of a child expression (inside an expression group), disable popup menuitem "Remove" on a child expression. This removes the entire group, not the selected child expression.

The reason I didn't look into disabling the "Remove" is that it works like that for normal children of expressions.  For example, if you create a normal expression that has children (a struct, a class, an array, a ptr), and you right-click on one of the children and choose "Remove", it is the parent that is removed, along with all children.  I thought it was more consistent to keep this behavior for Expression Groups.

> 3. When the node "Add new expression" goes into edit mode, open an infopop which advertises this expression grouping feature.

We definitely need a way to advertise this feature.  Are you suggesting a Dialog popup describing this feature and having a "Don't show this message again", when you click on the "Add new expression" node?  This is an interesting possibility.  I think such an approach could even be used for different CDT features.  I wonder if there is such a precedent in the CDT.

> 4. On rightclick popup menu of an expression, show menuitem "Add to Expression Group". This will open a list dialog which lists all existing expression groups + "New". If user selects an existing expression group, edit the group definition string to append "; <expression>". If user selects "New", add a new expression group with the definition "<expression>;".

This would require new UI.  Is having such a dialog much easier to having to manually add the expression to a group?  If it makes it clearly more user-friendly, then it makes sense, but if it is just a small improvement for a user, then I we should think about it.  Although having this new context menu would be a way to make this grouping feature visible.

With such a context menu entry, I still wonder if having a "New" option makes sense.  As you point out, selecting New will create a new expression with definition "<expression>;".  This is pretty much the same as the previous expression, except for the semi-colon.  I don't think this adds much value.

> 5. Allow user to drag / drop an expression on a group.

That does sound easier for the user.  I'm not sure how hard this would be to implement, but I think it is a good idea.

> 6. To edit an expression group definition which contains multiple complex expressions, it is actually easier to rightclick the group and open Edit Watch Expression dialog. Here, it would be great if user can specify expressions one per line, each expression ending in semicolon. If a line ends with semicolon, we should discard the newline char after it and create a single line for the expression group definition.

That sounds great.

Could you open bugs for the features you feel should be pursued?

Thanks for this input.


Back to the top