microsoft / microsoft/TypeScript
Typescript Autocompletion Not Working For Function Overloads
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 1g 19h
- PR unite (30g)
- 117
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con l'esempio di overload di TypeScript nell'issue e riproduci il comportamento del completamento dopo aver inserito il primo argomento. Traccia il punto di ingresso del completamento del language service per le funzioni overloaded; il lavoro è completato quando i suggerimenti dopo "de" contengono solo "BW" e "BY", anziché i literal di entrambi gli overload, ed è stato aggiunto un test di regressione nell'area di test pertinente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100