microsoft / microsoft/TypeScript

Investigate eagerly returning more information about suggestions

Open
#36,265 24 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Awaiting More Feedback Suggestion
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:

Screen Shot 2020-01-17 at 11 26 30 AM

This design also reflects the design of the suggestion api:

  • completionInfo returns the entire list of suggestions, but only includes the name
  • completionEntryDetails returns 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.