microsoft / microsoft/TypeScript

Should intellisense suggest block scoped values before they are declared?

Offen
#28,475 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Domain: LS: Completion Lists Experience Enhancement Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

Currently intellisense suggests every block scoped declaration in scope, even if the suggestion is located within the TDZ. When accepting that suggestion, TypeScript issue an used before its declaration error:

new /**/; // suggests 'Clazz', which results in an error
class Clazz {}

function test(
  foo = /**/, // suggests `foo`, `bar` and `baz`, all of them result in an error
  bar = /**/, // suggests `bar` and `baz`, both result in an error
) {
  let baz = 1;
}

Should intellisense filter out suggestions that would result in an error? If so, it should probably use the same condition as the checker.

Related: #28472 #28471

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es werden keine Dateien oder Tests genannt. Beginne damit, die IntelliSense-Vervollständigungslogik für blockbezogene Deklarationen zu finden, und vergleiche deren Filterung mit der used-before-declaration-Bedingung des Checkers; abgeschlossen ist die Aufgabe, wenn TDZ-ungültige Vorschläge wie Clazz, foo, bar und baz ausgeschlossen werden, während gültige Vorschläge weiterhin verfügbar sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
developer-experience
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.