TypeScript Clickable Types

May 3, 2026 ยท View on GitHub

VS Marketplace Version Installs Rating Build License

Install: Get it on the Visual Studio Marketplace or grab the latest .vsix from Releases.


The Problem

In Visual Studio, when you hover over a variable, the type name in the tooltip is clickable and jumps straight to its definition. In VS Code, the hover tooltip is plain text โ€” you have to right-click and choose "Go to Type Definition" as a separate step.

The Solution

This extension appends a ๐Ÿ”— Go to type row at the bottom of every TypeScript hover tooltip with a clickable link for each detected type.

Demo

Clicking the type name jumps straight to wherever it is defined โ€” whether that's an interface, type alias, class, or enum.


Features

  • โœ… Works with interfaces, type aliases, classes, enums
  • โœ… Handles generic types like Cut[], Map<string, Cut>, Promise<Cut>
  • โœ… Supports .ts, .tsx, .js, .jsx files
  • โœ… Filters out built-in types (no noise from Array, Promise, Record, etc.)
  • โœ… Falls back to workspace symbol search if direct lookup fails
  • โœ… Zero configuration needed

Usage

  1. Open any TypeScript file
  2. Hover over a variable, parameter, or return type
  3. Click the type name in the ๐Ÿ”— Go to type row at the bottom of the tooltip

Supported Languages

LanguageSupported
TypeScript (.ts)โœ…
TypeScript React (.tsx)โœ…
JavaScript (.js)โœ…
JavaScript React (.jsx)โœ…

Requirements

  • VS Code 1.74.0 or later
  • TypeScript language server active in your workspace

Extension Settings

SettingTypeDefaultDescription
tsClickableTypes.excludeTypesstring[][]Additional type names to exclude from clickable links. Merged with the built-in exclusion list.

Example โ€” add to your settings.json to suppress links for specific types:

"tsClickableTypes.excludeTypes": ["Component", "Ref", "FC"]

Known Limitations

  • Only detects PascalCase type names (which covers virtually all user-defined types by convention)
  • Types defined only in node_modules without workspace sources may not be jumpable

Development

# Install dependencies
npm install

# Run tests
npm test

# Compile
npm run compile

# Package as .vsix
npm run package

Contributing

Found a bug or have a feature request? Open an issue on GitHub.

Pull requests are welcome!


License

MIT