microsoft / microsoft/TypeScript

cmd+click function name goes to type definition file instead of source

Offen
#36,418 5 Kommentare 7 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

duplicate of microsoft/vscode#68782 but that was closed without fix.

  • VSCode Version: 1.41.1
  • OS Version: macOS 10.14.6

Steps to Reproduce:

  1. Create a project folder with 2 files:

lib.js

export const testMethod = (name, params) => {
  params && params.age
    ? `hello ${name} with age: ${params.age}`
    : `hello ${name}`;
};

test.js

import { testMethod } from "./lib";
testMethod("foo", { age: 3 });

cmd+click works and jumps to definition.

no-type

now add a type definition file

lib.d.ts

declare namespace MyModule {
  interface IParams {
    age: number;
  }

  function testMethod(name: string, params: IParams): string;
}
export = MyModule;

cmd+click jumps to type definition instead of source definition.

with-type-file

I do not think this should be the default behavior. I would expect cmd+click to bring me to the function definition.

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 Navigationsverhalten mit den genannten Dateien lib.js und test.js und füge dann lib.d.ts hinzu; vergleiche anschließend das cmd-click-Ziel. Beginne damit, das Verhalten der Definitionssuche im TypeScript language service nachzuverfolgen; abgeschlossen ist die Aufgabe, wenn die Navigation die Quellfunktion in lib.js erreicht und nicht nur die Deklaration in lib.d.ts.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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