web-dev-qa-db-fra.com

Code Visual Studio - appliquer le refactoring de fichier renommé à toutes les importations ES6

J'ai créé une application TypeScript avec des modules ES6.

Comment renommer un fichier ts ou js représentant un module sans interrompre l'importation ES6 faisant référence au fichier renommé?

par exemple: renommez MyModule.ts en RenamedModule.ts -> changez import * from './MyModule' en import * from './RenamedModule' dans tous les fichiers;

Existe-t-il une extension VSCode ou un service TypeScript qui renommerait le chemin du module dans toutes les importations ES6 lors du changement de nom de fichier?

MODIFIER:

votez pour cette fonctionnalité vscode sur GitHub

29
Liero

Je cherchais simplement la même chose et ai trouvé cette extension VSCode:

move-ts

Il est très jeune mais semble être en développement actif. Je l'ai testé sur ma machine Windows et j'ai immédiatement rencontré un problème d'utilisation des barres obliques inverses. Cependant, il existe déjà une demande d'extraction pour résoudre ce problème (pas par moi) . Dès que cela est corrigé, je pense que c'est peut-être ce que vous (nous) recherchons .EDIT: As de 2017-mai-11, le problème de Windows est résolu.

Il y a une discussion en cours pour une suggestion de "fichier de déplacement de refactor" pour TypeScript lui-même ici , mais cela semble être un stade très précoce ..__ VSCode lui-même, comme ceci ouvre un ticket pour VSCode explique, qui suit la demande de fonctionnalité principale que vous avez liée à votre édition.

6
Ben

Utilisez un plug-in appelé "renommer" Il peut être téléchargé dans la section plugins de Visual Studio Code.

Vous pouvez simplement utiliser le findRll et remplacer qui vient avec la plupart des éditeurs de texte tels que NotePad ++

1
RileyManda

Vscode supporte maintenant cette fonctionnalité. C'est étrange, quand j'ai renommé un fichier sur un fichier js, cela n'a pas fonctionné. 

Cependant, quand j'ai fait un glisser-déposer d'un fichier, vscode a mis en place une boîte de dialogue me demandant s'il devait mettre à jour tous les chemins pour moi. Il y a une option pour le faire toujours, que j'ai sélectionné. 

Après cela, j'ai essayé de renommer le fichier à nouveau sur un fichier js, ce qui a refacturé tous mes chemins. Je suis curieux de savoir si d'autres ont vécu la même expérience que moi. 

1
seescode