microsoft / microsoft/TypeScript

JS IntelliSense only picks up JSDoc @inherits rule in class definition but not on children or instances

Aperta
#41,256 1 commento 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Domain: JSDoc Needs Investigation
Lingua principale
Go
Stelle
111k
Fork
14.3k
Merge medio
2g 4h
PR unite (30g)
132

Descrizione

TS Template added by @mjbvz

TypeScript Version: 4.1.0-dev.20201026

Search Terms

  • jsdoc

  • VSCode Version: 1.50.1
  • OS Version: 18.04

Steps to Reproduce:

I apologize if this is not the correct place for this issue, I tried hard finding the repository that is responsible for js intellisense.

  1. Create a new js file
  2. Copy below code into the file
function Mixin1 (base) {
  return class extends base {
    foo() {}
  }
}

function Mixin2 (base) {
  return class extends base {
    bar() {}
  }
}

class IntermediateDummyClass extends Mixin1(Object) {}

/**
 * @implements {IntermediateDummyClass}
 */
class Composite extends Mixin2(IntermediateDummyClass) {
  
}

let c = new Composite;

c.
  1. Observe autocomplete suggestions - within Composite class both foo and bar are suggested

image

However when instantiated or extended only bar is picked up.

image

image

Does this issue occur when all extensions are disabled?: Yes

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

Inizia eseguendo la riproduzione JavaScript fornita nel servizio linguistico TypeScript e confronta IntelliSense per Composite, la sua istanza e una classe che lo estende. Traccia il modo in cui la regola JSDoc @implements viene applicata nella riproduzione, quindi verifica che foo e bar vengano suggeriti in modo coerente per la classe, le istanze e le classi derivate.

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

Valutazione

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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.