microsoft / microsoft/TypeScript

Should intellisense suggest block scoped values before they are declared?

Aperta
#28,475 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Domain: LS: Completion Lists Experience Enhancement Suggestion
Lingua principale
Go
Stelle
111k
Fork
14.3k
Merge medio
2g 4h
PR unite (30g)
132

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Non vengono indicati file o test. Inizia individuando la logica di completamento IntelliSense per le dichiarazioni con ambito di blocco e confronta il relativo filtraggio con la condizione used-before-declaration del checker; il lavoro è completato quando i suggerimenti non validi per la TDZ, come Clazz, foo, bar e baz, vengono esclusi, mentre i suggerimenti validi rimangono disponibili.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
developer-experience
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.