'Go to definition' for user-defined type properties
- Dominant language
- Bicep
- Stars
- 3.6k
- Forks
- 830
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 79
Description
**Is your feature request related to a problem? Please describe.**
For user-defined types, 'Go to definition' currently only works for the type itself, but not for the associated properties:
```
param person **Person** = { // ctrl-click here takes you to the `type Person` definition
**name**: { // ctrl-click here has no effect
value: 'Alice'
}
age: 30
}
resource sa 'Microsoft.Storage/storageAccounts@2023-04-01' existing = {
name: person.name.**value** // ctrl-click here has no effect
}
type Person = {
name: Name
age: int
}
type Name = {
value: string
}
```
**Describe the solution you'd like**
It would be nice to add 'Go to definition' (Ctrl-click) for UDT type properties, which would be especially useful for deeply nested properties within other UDTs and for properties of imported UDTs.
Contributor guide
Research direction
Start by locating Bicep's Ctrl-click/'Go to definition' handling for user-defined types and how it resolves nested and imported properties. Trace the example's person.name.value references, then verify that each property navigates to its corresponding type declaration and that existing type navigation still works.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100