Thread overview
Visual D: Simplify interface listing
Jun 05, 2019
Amex
Jun 05, 2019
Rainer Schuetze
Jun 06, 2019
Amex
June 05, 2019
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






June 05, 2019

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.
June 06, 2019
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.