Rechercher et remplacer Android studio

271

Existe-t-il un moyen de rechercher et de remplacer toutes les occurrences d'un mot dans un projet entier (pas seulement une seule classe en utilisant refactor -> rename) et également de conserver la casse, soit dans Android Studio ou en utilisant un script de ligne de commande?

Par exemple, le fournisseur doit aller au marchand, fournisseur -> marchand, FOURNISSEUR -> MARCHAND. Mon patron veut que je change toutes les instances de fournisseur avec le marchand pour un projet sur lequel je travaille. Je le fais depuis environ une heure et je sais que je perds mon temps. Faites-moi part de vos suggestions de gain de temps.

monsieurFunkenstine
la source
1
Une façon de le faire est de faire un clic droit dans la solution sur la structure des dossiers et de choisir remplacer dans le chemin.
Johan

Réponses:

543

Je pense que le raccourci que vous recherchez est:

Ctrl+ Shift+ Rsur Windows et Linux / Ubuntu

Cmd+ Shift+ Rsur Mac OS X

ref: source

Krylez
la source
4
Je suis sur OS X et c'était toujours Ctrl + Shift + R
CodyMace
3
Cela a fonctionné à merveille! J'ai dû renommer une classe dans son intégralité, y compris les commentaires, les getters, les setters, les constructeurs, les nouveaux appels, THE WORKS, mais le refactor du studio Android me dérangeait. Ctrl + Shift + R a cependant ignoré tout cela et a durement changé les fichiers après quoi le projet a dû être rechargé. Sélectionnez "conserver le cas", sinon tout gâchera.
G_V
4
sous OS X, au moins pour moi, c'était Command au lieu du bouton Ctrl. Juste pour les nouveaux utilisateurs de mac - android studio.
karvoynistas
4
Ça ne marche plus pour moi. Je pense que ce raccourci a été supprimé. Quelqu'un d'autre voit la même chose? Edit> Find> Replace In Path est toujours là bien sûr.
Da-Jin
1
aussi Ctrl + Shift + Rpour Ubuntu (Linux)
Morozov
82

Sous Windows :

Trouver: Ctrl+F

Rechercher et remplacer dans une seule classe: Ctrl +R

Rechercher et remplacer dans l'ensemble du projet: Ctrl+Shift +R

sous OS X , c'est similaire, il suffit de le remplacer CtrlparCommand

sooglejay
la source
44

Dans Android studio, Éditez -> Rechercher -> Remplacer dans le chemin, cela vérifiera tout le projet, y compris les commentaires et le code.

Zoombie
la source
C'est la bonne réponse dans Android Studio sur macOS. La seule balayeuse de recherche / remplacement de projet complet.
the_dude_abides
12

Si vous utilisez refactor-> rename pour le nom du fichier, partout où le fichier est utilisé dans votre projet, le refactor le remplacera.

J'ai déjà renommé des variables, un fichier xml, un fichier java, plusieurs dessinables et après l'opération, j'ai pu construire directement sans erreur.

Faites une sauvegarde de votre projet et essayez de voir s'il fonctionne pour vous.

Tirer
la source
3
Le raccourci par défaut pour renommer est Shift + F6. ;-)
Kalaschni
12

Appuyez sur Ctrl+ Rpour rechercher et remplacer les codes dans la classe où vous vous trouvez ...

Simon
la source
11

Utilisez ctrl+ Rou cmd+ Rdans OSX

user3245882
la source
4

Les raccourcis sont

Sous Windows : Ctrl+ Shift+R

Sur Mac : Cmd+ Shift+R

JGPhilip
la source
2

ctrl + H ..... son option donner pour remplacer le mot de la classe.

Dinesh
la source
2
Mais il ne donne pas l'option de remplacement.
Shajeel Afzal
1

Essayez d'utiliser: Edition -> Rechercher -> Remplacer dans le chemin ...

étourdi
la source
1

Je pense que les réponses précédentes ont manqué l'aspect le plus important (non trivial) de la question du PO, c'est-à-dire, comment effectuer la recherche / remplacement de manière "gain de temps", c'est- à- dire une fois , pas trois fois, et "maintenir le cas" à l'origine présent.

Dans le volet, cochez " [X] Conserver le cas " avant de cliquer sur le bouton Remplacer tout

Ceci effectue un remplacement "intelligent" sensible à la casse en une seule passe:

apple -> orange
Apple -> Orange
APPLE -> ORANGE

Aussi, pour votre tranquillité d'esprit, n'oubliez pas de vérifier le code dans le VCS avant d'effectuer des remplacements de balayage à l'échelle du projet.

Pete Alvin
la source