microsoft / microsoft/TypeScript

Destructured function does not show outline of inner function parameters

Abierto
#63,551 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Awaiting More Feedback Suggestion
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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.