microsoft / microsoft/TypeScript
Destructured function does not show outline of inner function parameters
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 132
Descripción
### 🔎 Search Terms
outline model
### 🕗 Version & Regression Information
- This changed between versions ______ and _______
- This changed in commit or PR _______
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________
- I was unable to test this on prior versions because _______
### ⏯ Playground Link
_No response_
### 💻 Code
```ts
// Your code here
```
### 🙁 Actual behavior
Essentially for the code:
```
export const [var1, var2] = processLightDarkTokens({
a : {
b : {
}
},
c : {
}
});
```
The outline model returned by TypeScript does not show a, b and c. But for:
```
export const abc = processLightDarkTokens({
a : {
b : {
}
},
c : {
}
});
```
It does.
### 🙂 Expected behavior
I would expect a, b, and c to be visible in the outline model in both cases.
### Additional information about the issue
Hi, I am a developer on the VS Code team, and I recently received the following bug : https://github.com/microsoft/vscode/issues/241563. The bug is that the VS Code editor sticky scroll does not display the expected sticky lines. This happens because the outline model returned by the TypeScript server changes unexpectedly depending on if the function return variable is destructured or not. I attach a screen recording here to show the issue.
Essentially for the code:
```
export const [var1, var2] = processLightDarkTokens({
a : {
b : {
}
},
c : {
}
});
```
The outline does not show a, b and c. But for:
```
export const abc = processLightDarkTokens({
a : {
b : {
}
},
c : {
}
});
```
It does. Is this expected?
https://github.com/user-attachments/assets/1b425011-ae36-4b54-bb75-fc193a3246ba
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el modelo de outline del servidor TypeScript y reproduce los dos ejemplos de código del issue, comparando las entradas generadas para un retorno desestructurado con las de una variable con nombre. Rastrea por qué se omiten las entradas anidadas a, b y c en el caso desestructurado, y considera terminado el issue cuando ambas formas expongan esas entradas de manera coherente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100