microsoft / microsoft/TypeScript
Outline view does not show props of typescript type
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- PR merge metrics
- PR metrics pending
Description
### 🔍 Search Terms
tsserver type outline view
### ✅ Viability Checklist
- [x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
- [x] This wouldn't change the runtime behavior of existing JavaScript code
- [x] This could be implemented without emitting different JS based on the types of the expressions
- [x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
- [x] This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
- [x] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals
### ⭐ Suggestion
When using typescript `interface` instead of `type`:
```
export interface User {
id?: string | undefined;
username: string;
}
```
the props are shown in the editor's `Outline view`.
However, when I have a typical typescript `type`:
```
export type User = {
id?: string | undefined;
username: string;
}
```
the props are not shown in the `Outline view` (e.g. VSCode or Eclipse Editor Outline View)
Please show the props in the `Ouline view` also for typescript `type`.
This issue was previously created on other repos and delegated to this repo:
- See https://github.com/eclipse-wildwebdeveloper/wildwebdeveloper/issues/1753#issuecomment-2919335238 for more information.
- See https://github.com/typescript-language-server/typescript-language-server/issues/960#issuecomment-3154878653
### 📃 Motivating Example
Show the props in the `Ouline view` also for typescript `type`.
### 💻 Use Cases
1. What do you want to use this for? for outline view
3. What shortcomings exist with current approaches? properties in the `Ouline view` does not appear for typescript `type`
4. What workarounds are you using in the meantime? nothing
Contributor guide
Research direction
No source file or test is named. Start by investigating the tsserver document-symbol or outline handling, comparing the symbols produced for the interface and type examples in the issue. Done means the type alias's properties appear in the editor Outline view as the interface properties do.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100