typescript - Visual Studio Code - tillämpa filnamnsändring refaktorering i alla ES6-importer
Jag har en TypeScript-applikation byggd med ES6-moduler.
Hur byter jag namn på en ts- eller js-fil som representerar en modul utan att bryta ES6-importen som refererade den omdöpta filen?
t.ex: byt namn på MyModule.ts till RenamedModule.ts -> ändra import * from ''./MyModule'' till import * from ''./RenamedModule'' i alla filer;
Finns det en VSCode-tillägg eller TypeScript-tjänst som skulle byta namn på modulväg i alla ES6-importer när man byter namn på en fil?
REDIGERA:
rösta på denna VSCode-funktion på GitHub
Svar #1
Jag letade precis efter samma sak och hittade den här VSCode-tillägget:
flytta-ts
Det är mycket ungt, men verkar vara under aktiv utveckling. Jag testade det på min Windows-dator och stötte omedelbart på ett problem med att backslashes används. Det finns dock redan en pull-begäran för att åtgärda detta (inte av mig). Så snart detta är åtgärdat tror jag att detta kan vara vad du (vi) letar efter. REDIGERING: Från och med 2017-05-11 är Windows-problemet löst.
Det pågår en diskussion om ett förslag om "refactor move file" för Typescript själv här, men det verkar vara i ett mycket tidigt skede. Det verkar som att tills detta byggs, är det osannolikt att denna funktionalitet inkluderas i VSCode själv, som denna öppna biljett för VSCode förklarar, vilken spårar huvudfunktionens begäran som du länkade till i din redigering.
Svar #2
Vscode stöder nu denna funktion. Det är konstigt, när jag bytte namn på en js-fil fungerade det inte.
Men när jag gjorde en drag-och-släpp av en fil, visade vscode en dialogruta som frågade mig om det skulle uppdatera alla sökvägar åt mig. Det finns ett alternativ att alltid göra det, vilket jag valde.
Efter det försökte jag byta namn på filen igen på en js-fil, och det refaktorerade alla mina sökvägar. Jag är nyfiken på att veta om andra hade samma upplevelse som jag.