microsoft / microsoft/TypeScript
cmd+click function name goes to type definition file instead of source
Dieses Issue hat noch niemand übernommen.
- 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:
- 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.

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.

I do not think this should be the default behavior. I would expect cmd+click to bring me to the function definition.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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