www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Visual D: Simplify interface listing

reply Amex <Amex gmail.com> writes:
Interfaces in the debug window always seem to show the class it 
is as a child that requires expansion...

I see this no need for this.

Interfaces will display static info but the fields will all be 
from the objects so it almost always require an extra expansion 
unnecessarily.

Instead of removing the entry maybe just copy it up one level so 
one can see what is what if necessary.

Probably what really needs to happen(and it could be optional) is 
to always display objects as a flat list exist for any nested 
entries.

e.g.,

interface X;
class Y { class Z { int q;} Z z; int f; }

will be listed as

X/Y
   Z/z
     q
   f

rather than

X
   Y
     z
       q
     f


(or how ever visual D lists it)

I mainly just feel the tree gets a bit polluted at times with 
unnecessary/redundant info
Jun 05 2019
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 05/06/2019 10:41, Amex wrote:
 Interfaces in the debug window always seem to show the class it is as a
 child that requires expansion...
 
 I see this no need for this.
 
 Interfaces will display static info but the fields will all be from the
 objects so it almost always require an extra expansion unnecessarily.
 
 Instead of removing the entry maybe just copy it up one level so one can
 see what is what if necessary.
 
 Probably what really needs to happen(and it could be optional) is to
 always display objects as a flat list exist for any nested entries.
 
 e.g.,
 
 interface X;
 class Y { class Z { int q;} Z z; int f; }
 
 will be listed as
 
 X/Y
   Z/z
     q
   f
 
 rather than
 
 X
   Y
     z
       q
     f
 
 
 (or how ever visual D lists it)
 
 I mainly just feel the tree gets a bit polluted at times with
 unnecessary/redundant info
 
 
I agree, there is one indirection too many with the display of the derived class, it should be shown on the top level. Are you aware of the Debugging->Mago option "Show base class fields as direct fields"? It can help to reduce the clutter, but doesn't help in the example above.
Jun 05 2019
parent Amex <Amex gmail.com> writes:
On Wednesday, 5 June 2019 at 21:15:39 UTC, Rainer Schuetze wrote:
 On 05/06/2019 10:41, Amex wrote:
 Interfaces in the debug window always seem to show the class 
 it is as a child that requires expansion...
 
 I see this no need for this.
 
 Interfaces will display static info but the fields will all be 
 from the objects so it almost always require an extra 
 expansion unnecessarily.
 
 Instead of removing the entry maybe just copy it up one level 
 so one can see what is what if necessary.
 
 Probably what really needs to happen(and it could be optional) 
 is to always display objects as a flat list exist for any 
 nested entries.
 
 e.g.,
 
 interface X;
 class Y { class Z { int q;} Z z; int f; }
 
 will be listed as
 
 X/Y
   Z/z
     q
   f
 
 rather than
 
 X
   Y
     z
       q
     f
 
 
 (or how ever visual D lists it)
 
 I mainly just feel the tree gets a bit polluted at times with 
 unnecessary/redundant info
 
 
I agree, there is one indirection too many with the display of the derived class, it should be shown on the top level. Are you aware of the Debugging->Mago option "Show base class fields as direct fields"? It can help to reduce the clutter, but doesn't help in the example above.
Yes, I saw that option. I thought enabling may show far too many. I was having some structure that had a lot of fields. What I finally did was use a nested class and refactored my code to help reduce it. That allowed me to burry stuff that I don't want to see as often. It might then work well with that option.
Jun 06 2019