Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More detailed list of interfaces in C# Quick Info #222

Closed
wmjordan opened this issue Oct 30, 2022 · 6 comments
Closed

More detailed list of interfaces in C# Quick Info #222

wmjordan opened this issue Oct 30, 2022 · 6 comments
Assignees
Labels
enhancement QuickInfo Tool tip and quick info

Comments

@wmjordan
Copy link
Owner

wmjordan commented Oct 30, 2022

It would be really great if you could implement a more detailed list of interfaces in the Super Quick Info tooltips, where it shows the whole interface inheritance chain for each interface. I am now working on types with like 30+ interfaces with complex hierarchies and generic parameters and it would help a lot to know exactly through which higher level interface a lower level interface like IEnumerable<T> for example has been inherited.

Here's an example screenshot:

2022-09-15 20_32_38-DotNet - FsDir cs

Originally posted by @fitdev in #214 (comment)

@wmjordan
Copy link
Owner Author

I am trying to merge interfaces into base types today.
image

It does not seem good to me.
Although now we can see which base class has implemented what interfaces for us, the interfaces are now interlaced with the base types. In most of the time, we just care what interfaces are implemented by the current class, not where they are implemented.

It looks much less readable compared to the current implementation, which serves the purpose well--what interfaces are implemented by the current class.
image

Thus, I think merging interfaces into base types of a class is not a good way to go.

I will try to show hierarchical interfaces later and see how it works.

@wmjordan wmjordan added enhancement QuickInfo Tool tip and quick info question labels Oct 30, 2022
@wmjordan
Copy link
Owner Author

After some contemplation, I think the hierarchical interface list can be either redundant or misleading, since an interface can be implemented by current class or base classes, and/or inherited from multiple base interfaces at the same time:
If duplicated interfaces are displayed, it is redundant.
If those duplicated interfaces are not displayed, the information is incomplete and misleading.

And hereby I desired to keep existing design and additionally display where the interface is firstly implemented or inherited from.

image

image

@wmjordan wmjordan mentioned this issue Oct 31, 2022
28 tasks
@wmjordan
Copy link
Owner Author

@fitdev, there's a new beta version for you to test.

@fitdev
Copy link

fitdev commented Nov 2, 2022

Sorry for the late reply and thank you for your work. I will try the new beta ASAP and let you know my thoughts.

@fitdev
Copy link

fitdev commented Nov 2, 2022

I like the new design. It is certainly a very big improvement and quite helpful. Though I still think that displaying full information about inheritance of interfaces would be helpful, but you are right a simple hierarchy approach does not look too good to me either.

@wmjordan
Copy link
Owner Author

wmjordan commented Nov 4, 2022

Well, let's settle down here at this moment. Feel free to open a new issue if something comes to your mind.

@wmjordan wmjordan closed this as completed Nov 4, 2022
@wmjordan wmjordan removed the question label Nov 4, 2022
@wmjordan wmjordan self-assigned this Nov 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement QuickInfo Tool tip and quick info
Projects
None yet
Development

No branches or pull requests

2 participants