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

Inheritance hierarchy support #649

Closed
Yanpas opened this issue Sep 26, 2018 · 3 comments
Closed

Inheritance hierarchy support #649

Yanpas opened this issue Sep 26, 2018 · 3 comments

Comments

@Yanpas
Copy link

Yanpas commented Sep 26, 2018

Add support for inheritance hieararchy.

cquery (C++ language server) implements it via extension method $cquery/inheritanceHierarchy to langauge server. On the vscode side it introduces pane in the explorer sidebar:

image

Environment
  • Operating System: kubuntu
  • JDK version: 10
  • Visual Studio Code version: 1.26
  • Java extension version: 0.31.0
@fbricon
Copy link
Collaborator

fbricon commented Sep 26, 2018

This depends on eclipse-jdtls/eclipse.jdt.ls#28 and before that, microsoft/language-server-protocol#136.

@langlan
Copy link

langlan commented Nov 30, 2019

Call Hierarchy and Type/Method Hierarchy are the two features I've been looking forward most eagerly which are both not implemeted yet, sadly.
For Type Hierarchy, as I noted, for now we at least can see a interface's implementations which showed a link: xx implementations above a Inteface definition by a vitrual-line. We can click it or by command Peek Implementation, for a super class there's no link but can still peek by command. (Of course, there's no hierarchy structrue)
For Method Hierarchy, for now we at least can hover a implemented method, and in the hover pane, there's a Go to Super Implementaton link, but seems no corresponding command. On a Interface/abstract method, Theres's no link but can use command to peek/goto. e.g. Peek Implementation.
Peek References seems only show this list of explicitly occurs in extends/implements/new/method-call statements.
Peek Definition are always display two columns even the result list contains only one and it seems always only one and never related to super or implementations, maybe the team can leverage the Peek Definition with the above logic to add more candidates? For compatibility current logic may should be the first candidate, but for a method-invoke people actually want to jump to the implemented code in most scenarios. It's a cure for thirsty although it's not a solution for hierarchy.

@rgrunber
Copy link
Member

We've had call & type hierarchy support for some time now so I'll close this issue. Method inheritance hierarchy would be a great addition, which is also very convenient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants