microsoft / microsoft/TypeScript
Investigate eagerly returning more information about suggestions
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
Problem
Suggestions VS Code have three broad UX parts:
- Name/label. Primary identifier for a suggestion, such as
foo. - Details. Type information or auto import info, such as
string. - Documentation. Js doc info and additional details about the suggestion item
Currently VS Code only shows the details of the currently active suggestion. This can be problematic in cases like auto imports, where multiple symbols may all have the same name:
This design also reflects the design of the suggestion api:
completionInforeturns the entire list of suggestions, but only includes the namecompletionEntryDetailsreturns the details and documentation for an individual suggestion
Investigation
With https://github.com/microsoft/vscode/issues/39441, VS Code is exploring letting languages/extensions return the details part of the suggestion eagerly. This would let VS Code show details for the entire list of suggestions instead of just for the active one. In the auto import case specifically, this would likely mean showing the file paths we would import from.
We would like the typescript team's feedback on these idea and our current proposals:
- What information would be most helpful to render in the main suggestion list?
- How much overhead would returning this information add? Both in terms of message size and TS server computation time?
/cc @jrieken For VS Code apis
/cc @amcasey @minestarks for VS
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 reading this issue and the linked VS Code issue #39441, then compare the completionInfo and completionEntryDetails APIs described here. Investigate which suggestion details would be useful in the main list and the message-size and TypeScript server computation costs. Done means documenting the TypeScript team's feedback or reaching a clear proposal.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100