Trova e sostituisci Android Studio


271

C'è un modo per trovare e sostituire tutte le occorrenze di una parola in un intero progetto (non solo una singola classe usando refactor -> rinomina) e anche mantenere il caso, in Android Studio o usando uno script da riga di comando?

Ad esempio, il fornitore deve andare a Commerciante, fornitore -> commerciante, FORNITORE -> COMMERCIANTE. Il mio capo vuole che cambi tutte le istanze del fornitore con il commerciante per un progetto su cui sto lavorando. Lo sto facendo da circa un'ora e so che sto sprecando il mio tempo. Fammi sapere di eventuali suggerimenti per risparmiare tempo.


1
Un modo per farlo è fare clic con il pulsante destro del mouse sulla soluzione sulla struttura delle cartelle e lì scegliere Sostituisci nel percorso.
Johan

Risposte:


543

Penso che la scorciatoia che stai cercando sia:

Ctrl+ Shift+ Rsu Windows e Linux / Ubuntu

Cmd+ Shift+ Rsu Mac OS X

ref: fonte


4
Sono su OS X ed era ancora Ctrl + Maiusc + R
CodyMace il

3
Questo ha funzionato meravigliosamente! Ho dovuto rinominare una classe nella sua interezza, inclusi commenti, getter, setter, costruttori, nuove chiamate, THE WORKS, ma il refactor di Android Studio mi stava prendendo in giro. Ctrl + Maiusc + R, tuttavia, ha ignorato tutto ciò e ha cambiato duramente i file dopo i quali è stato necessario ricaricare il progetto. Seleziona "preserva caso" o sbaglierà tutto.
G_V,

4
su OS X almeno per me era Comando invece del pulsante Ctrl. Solo per il nuovo Mac: utenti Android Studio.
karvoynistas,

4
Non funziona più per me. Penso che questo collegamento sia stato rimosso. Qualcun altro vede lo stesso? Modifica> Trova> Sostituisci nel percorso ovviamente è ancora lì.
Da-Jin,

1
anche Ctrl + Shift + Rper Ubuntu (Linux)
Morozov il

82

Su Windows :

Trova: Ctrl+F

Trova e sostituisci in classe singola: Ctrl+R

Trova e sostituisci nell'intero progetto: Ctrl+ Shift+R

su OS X , è simile, basta sostituirlo CtrlconCommand


44

In Android Studio, Modifica -> Trova -> Sostituisci nel percorso, questo controllerà l'intero progetto inclusi commenti e codice.


Questa è la risposta corretta in Android Studio su macOS. L'unica spazzatrice per la ricerca / sostituzione di progetti completi.
the_dude_abides,

12

Se usi refactor-> rinomina per il nome del file, ovunque il file sia usato nel tuo progetto il refactor lo sostituirà.

Ho già rinominato variabili, file xml, file java, più disegni e dopo l'operazione ho potuto costruire direttamente senza errori.

Fai un backup del tuo progetto e prova a vedere se funziona per te.


3
Il collegamento predefinito per rinominare è Maiusc + F6. ;-)
Kalaschni il

12

Premi Ctrl+ Rper trovare e sostituire i codici nella classe in cui ti trovi ...



4

Le scorciatoie sono

Su Windows : Ctrl+ Shift+R

Su Mac : Cmd+ Shift+R


2

ctrl + H ..... dà l'opzione per sostituire la parola dalla classe.


2
Ma non offre l'opzione di sostituzione.
Shajeel Afzal,

1

Prova a usare: Modifica -> Trova -> Sostituisci nel percorso ...


1

Penso che le risposte precedenti abbiano mancato l'aspetto più importante (non banale) della domanda del PO, ovvero come eseguire la ricerca / sostituzione in un modo "risparmio di tempo", che significa una volta , non tre volte, e "mantenere il caso" originariamente presente.

Nel riquadro, selezionare " [X] Preserve Case " prima di fare clic sul pulsante Sostituisci tutto

Ciò esegue una sostituzione "intelligente" con distinzione tra maiuscole e minuscole in un unico passaggio:

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

Inoltre, per la massima tranquillità, non dimenticare di controllare il codice nel VCS prima di eseguire ampie sostituzioni a livello di progetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.