microsoft / microsoft/TypeScript
Typescript Autocompletion Not Working For Function Overloads
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.4k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
From @MartinLoeper on August 29, 2018 13:27
- VSCode Version: 1.25.1 1dfc5e557209371715f655691b1235b6b26a06be x64
- OS Version: Linux version 4.15.0-32-generic Ubuntu
Steps to Reproduce:
I provided a small example of the issue (see screenshot below).
- Create a function with two overloads
- Try to invoke this function
- Once you typed in the first parameter, the IDE recognizes that it matches the first overload's signature.
However, the auto-completion suggest the literals for both overloads.
I expect the auto-completion to show "BW" and "BY" only!

Does this issue occur when all extensions are disabled?: Yes
The code:
export class MomentHolidayFactory {
public a(input: Germany, second: GermanState): string;
public a(input: Austria, second: AustrianState): string;
public a(input: Country, second: State): string {
return "test";
}
public holidays() {
this.a("de", ""
}
}
type Country = Germany & Austria;
type Germany = "de" | "De" | "DE" | "germany";
type Austria = "Au" | "au" | "AU" | "austria";
type State = GermanState & AustrianState;
type GermanState = "BW" | "BY";
type AustrianState = "Stmk" | "Vbg";
Copied from original issue: Microsoft/vscode#57509
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 ejemplo de overload de TypeScript del issue y reproduce el comportamiento de completado después de introducir el primer argumento. Sigue el punto de entrada del completado del language service para funciones sobrecargadas; se considera terminado cuando las sugerencias después de "de" contienen solo "BW" y "BY", en lugar de literales de ambos overloads, y se ha añadido una prueba de regresión en el área de pruebas correspondiente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- compilers
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100