Skip to content

Add Type Hierarchy tool pane - #4212

Open
pieroviano wants to merge 2 commits into
icsharpcode:masterfrom
pieroviano:nav-type-hierarchy
Open

pieroviano wants to merge 2 commits into
icsharpcode:masterfrom
pieroviano:nav-type-hierarchy

Conversation

@pieroviano

Copy link
Copy Markdown

Adds a Type Hierarchy tool pane, docked at the bottom and hidden until first used:

  • For the type at the caret or selected in the tree (a member's declaring type is used), it shows the base types (base class and interfaces) and the derived types across all loaded assemblies.
  • Each row expands further up or down. Derived types are searched in the background, only when a row is expanded.
  • Double-click or Enter selects the type in the assembly tree, and Back returns.

Try it: select a type, then Navigate > Type Hierarchy (Ctrl+Alt+H), or right-click > Type Hierarchy.

Split out of #4199 (one feature per PR, as requested there).

Screenshots

7-type-hierarchy

Browsing a type's inheritance currently means expanding the Base Types and
Derived Types nodes one level at a time in the assembly tree. The pane shows
both directions for the type at the caret or selection in one tree, loads
subtypes lazily across the assembly list, and navigates on double-click/Enter.
The fixture is also used by the File Structure tests, so its summary names the navigation tests in general and the file stays identical on both branches.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant