microsoft / microsoft/TypeScript

Only prompt the first matching definition

Offen
#45,239 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs Investigation
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

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

  • VS Code Version: Version: 1.58.0
  • OS Version: macos catalina 10.15.7

Steps to Reproduce:

// package 'A'
export interface IConfig {}

export class Define {
  public config: IConfig
}
 
// -------------------------- //

// package 'B'
// package 'B' - a.ts
declare module 'A' {
  interface IConfig {
    setB1: () => {}
  }
}

// package 'B' - b.ts
declare module 'A' {
  interface IConfig {
    setB2: () => {}
  }
}

// -------------------------- //

// package 'C'
declare module 'A' {
  interface IConfig {
    setC: () => {}
  }
}

// -------------------------- //

// use
import { IConfig, Define } from 'A';

const a: IConfig // no problem, support `setB1` `setB2` `setC`

const b = new Define();
b.config // error, only prompt support for `setB1` method

Is there a way to make b.config prompt for all methods? In addition to using b.config as Iconfig

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

Reproduziere das Deklarationszusammenführungsbeispiel aus dem Issue mit den Paketen A, B und C und vergleiche anschließend die Vervollständigung für einen direkten IConfig-Wert mit der Vervollständigung für b.config. Verfolge das beteiligte Verhalten des TypeScript language-service oder der Typprüfung und füge einen Regressionstest hinzu, der demonstriert, dass für b.config alle zusammengeführten Member angeboten werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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