Skip to content

Be able to configure what quick info IntelliSense shows on hover (e.g. whether to expand)Β #56010

Closed as not planned
@brillout

Description

@brillout

πŸ” Search Terms

quick info, hover, IntelliSense, type hint, tsserver, VSCode

βœ… Viability Checklist

  • This wouldn't be a breaking change in existing TypeScript/JavaScript code
  • This wouldn't change the runtime behavior of existing JavaScript code
  • This could be implemented without emitting different JS based on the types of the expressions
  • This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
  • This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion

As a library author, I want to control what the user sees when he hovers over a type.

Most notably, I want to control whether the type should be expanded.

Tell TypeScript to show { n: number } when the user hovers over B:

type A = { n: number }
// @ts-quickinfo-expand true
type B = A

Tell TypeScript to show A when the user hovers over B:

type A = { n: number }
// @ts-quickinfo-expand false
type B = A

πŸ“ƒ Motivating Example

Library authors increasingly use TypeScript to document their library. It's a powerful way to add documentation right inside the user's source code. Being able to control TypeScript's quickinfo IntelliSense is a boon for library authors.

This is helpful not only for library authors, but also for large scale projects.

πŸ’» Use Cases

1. What do you want to use this for?

For Vike (a next-generation frontend framework).

2. What shortcomings exist with current approaches?

See above.

3. What workarounds are you using in the meantime?

None that I'm aware of.

Metadata

Metadata

Assignees

No one assigned

    Labels

    DuplicateAn existing issue was already created

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions