2010-10-07 18 views
2

Je fais un peu de ménage sur certains fichiers, et j'ai besoin de déplacer certaines classes vers un nouvel espace de noms. Actuellement je dois éditer manuellement les dossiers, mais je me demandais s'il y a une manière plus efficace de faire ceci?Outil de refactorisation d'espace de noms pour Eclipse?

J'ai entendu dire que ReSharper pour Visual Studio fait ce dont j'ai besoin, mais existe-t-il un outil similaire pour Eclipse?

+0

Vous pourriez envisager de baliser cette question "C++" plutôt que "c" car C ne supporte pas les classes ni les espaces de noms. – Ioan

+0

Bon point, édité. Merci! – jiake

Répondre

0

Je ne suis pas vraiment sûr si Eclipse le fait mais IntelliJ IDEA (du même fournisseur que ReSharper) a un refactoring pour déplacer des classes entre les paquets. Il est disponible dans le menu Refactor> Migrate si je me souviens bien.

+0

Supporte-t-il C \ C++? – jiake

+0

Ah, ma faute. Pour une raison quelconque, je pensais que la question était liée à Java. Juste comme une note, IntelliJ a un plugin de support C/C++ (http://plugins.intellij.net/plugin/?id=1373) mais il est loin de la fonctionnalité Java du produit principal. Désolé pour la confusion et s'il vous plaît ne tenez pas compte de la réponse. – gorohoroh

+0

N'a pas mérité une résolution d'acceptation pour cette réponse, mais merci quand même – gorohoroh

0

Existe-t-il un outil similaire pour Eclipse?

Nope.

+0

LOL, excellente réponse! Simple simple, pas d'alternatives. – g24l

0

Il n'y a pas de telle capacité dans Eclipse jusqu'à aujourd'hui MARS 8.1. Cependant, ce que l'on peut faire est de rechercher manuellement les occurrences des classes.

  1. Sélectionnez le nom de la classe que vous souhaitez refactoriser et recherchez le fichier dans le projet englobant.
  2. Dans les onglets, sélectionnez "File Search", puis appuyez sur "Replace ...", il trouvera toutes les occurrences et vous permet de remplir le texte de remplacement.
  3. Cliquez sur "Aperçu" pour voir ce qui va être appliqué et supprimez les actions que vous ne souhaitez pas qu'elles soient appliquées en les décochant.

Ceci devrait être suffisant. Si vous utilisez git, vous pouvez toujours faire git checkout -b _refactorme pour vous sentir en sécurité, puis fusionner vos modifications. De cette manière, si quelque chose s'est mal passé, vous pouvez toujours suivre le problème, par ex. en utilisant git blame.