WebStorm og TypeScript: hvordan navigere til JS-kildefilen til en pakke?


Si at i TypeScript-prosjektet mitt bruker jeg Express og en metode som dette:

response.send('Hello');

Jeg vil se hvordan send()-metoden er implementert. Men når jeg ctrl+klikker på metodenavnet i WebStorm, tar det meg til en .d.ts-fil (TypeScript-definisjoner) i stedet for den faktiske kilden. Forståelig, men litt ubehagelig. Hva er den enkleste måten å komme til kilden på?

Svar #1

Den enkleste måten å komme til kilden på er å deaktivere det tilsvarende biblioteket (hvis d.ts-filer ble lastet ned som et bibliotek)/fjerne TypeScript-definisjoner fra prosjektet. Da vil WebStorm prøve å finne definisjonen i .js-filer.

Det finnes en funksjonsforespørsel om muligheten til å 'slå sammen' TypeScript-definisjoner med tilgjengelige .js-definisjoner, ved å bruke d.ts for fullføring og .js - for navigasjon (WEB-12630). Det eneste problemet her er at WebStorm ikke alltid kan finne riktig definisjon i .js - og det er grunnen til å bruke TypeScript-definisjoner i stedet. For eksempel, hvis modulens egenskaper er definert ved å iterere gjennom filer i filsystemet:

fs.readdirSync(__dirname + '/middleware').forEach(function(filename){
  if (!/\.js$/.test(filename)) return;
  var name = basename(filename, '.js');
  function load(){ return require('./middleware/' + name); }
  exports.middleware.__defineGetter__(name, load);
  exports.__defineGetter__(name, load);
});

Å løse dem for fullføring/navigasjon ser ikke ut til å være mulig

Relaterte artikler