microsoft / microsoft/TypeScript
Suggestion: go-to-definition should go to a base definition if possible.
Open
Nobody has claimed this yet.
Domain: LS: Symbol Navigation
In Discussion
Suggestion
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
TypeScript Version: master
Code
class A {
m() {}
}
class B extends A {
m() {}
}
Expected behavior:
Go-to-definition on m in class B should go to m in class A. (Same if A were an interface.)
Actual behavior:
I get taken to the beginning of the current identifier.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided TypeScript reproduction and checking the existing go-to-definition behavior for the override in class B. Trace the language-service entry point responsible for definition navigation, including the interface case, and verify completion when both cases navigate to the matching member in class A.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100