Je suis surtout intéressé par les changements automatiques de C ++ et de méthode / nom de classe / signature.
Réponses
Trop de publicités?Si vous pouvez programmer dans elisp, vous pouvez rechercher une combinaison de cedet + srecode à partir des bibliothèques CEDET - elle fournit tous les instruments pour cette tâche - trouver des appelants de fonctions, obtenir une signature, etc. Mais vous devez créer vous-même un outil réfractaire à l'aide de ces instruments
Je le fais beaucoup, donc je suis axiously en attente d'autres réponses aussi.
Les seuls trucs que je connais sont vraiment de base. Voici mes meilleurs amis dans Emacs lors d'un refactoring de code:
M-x query-replace
Cela permet de faire une recherche globale et de le remplacer. Vous allez faire une tonne lorsque vous déplacez des méthodes et communément des données accessibles à d'autres classes ou les espaces de noms.
C-x 3
Cela vous donne un affichage avec deux tampons de côté par côté. Vous pouvez ensuite procéder à la charge de différents fichiers entre eux, et déplacez votre curseur de l'un à l'autre avec C-x o
. C'est plutôt un truc de base, mais je le mentionne parce que de la façon dont puissant, il fait la suivante...
C-x (
(type any amount of stuff and/or emacs commands here)
C-x )
C'est une façon de définir une macro dans emacs. Toutes les fois que vous vous trouvez avoir besoin de faire la même chose encore et encore tout un tas de code (et c'est trop complexe pour query-replace), c'est une bouée de sauvetage. Si vous vous trompez, vous pouvez frapper C-g
pour arrêter la définition de la macro, puis annuler (C-_
) jusqu'à ce que vous êtes de retour où vous avez commencé. Les touches pour appeler la macro C-x e
. Si vous souhaitez faire un tas de fois, vous pouvez frapper Esc
"et saisissez un nombre premier. Par exemple: Esc 100 C-x e
va essayer d'invoquer votre macro 100 fois.
(Note: sous Windows, vous pouvez obtenir "Méta" en appuyant sur la touche Échap, ou maintenez la touche Alt).
Car quelque part entre les outils de refactoring et les expressions rationnelles simples, depuis Emacs 22, vous pouvez incorporer des expressions elisp arbitraires dans votre texte de remplacement, ce qui vous permet d’effectuer une manipulation de texte incroyablement puissante. Steve Yegge a écrit un bon article à ce sujet il y a quelque temps.
Un de mes amis jouait avec xrefactory et a dit que cela fonctionnait plutôt bien. Ce n'est pas bon marché cependant.