Encontre e substitua o Android studio

271

Existe uma maneira de encontrar e substituir todas as ocorrências de uma palavra em um projeto inteiro (não apenas uma classe usando refactor -> rename) e também manter o caso, no android studio ou usando um script de linha de comando?

Por exemplo, o Fornecedor precisa ir para Comerciante, fornecedor -> comerciante, FORNECEDOR -> COMERCIANTE. Meu chefe quer que eu mude todas as instâncias de fornecedor com comerciante para um projeto em que estou trabalhando. Faço isso há cerca de uma hora e sei que estou perdendo meu tempo. Informe-me a qualquer momento para salvar sugestões.

sirFunkenstine
fonte
1
Uma maneira de fazer isso é clicar com o botão direito do mouse na solução na estrutura de pastas e escolher substituir no caminho.
Johan

Respostas:

543

Eu acho que o atalho que você está procurando é:

Ctrl+ Shift+ Rno Windows e Linux / Ubuntu

Cmd+ Shift+ Rno Mac OS X

ref: source

Krylez
fonte
4
Estou no OS X e ainda era Ctrl + Shift + R
CodyMace 31/07
3
Isso funcionou maravilhosamente! Eu tive que renomear uma classe em sua totalidade, incluindo comentários, getters, setters, construtores, novas chamadas, THE WORKS, mas o refator do estúdio android estava me incomodando. Ctrl + Shift + R no entanto, ignorou tudo isso e alterou muito os arquivos após os quais o projeto teve que ser recarregado. Selecione "preservar caso" ou isso estragará tudo.
G_V
4
no OS X, pelo menos para mim, era o comando em vez do botão Ctrl. Apenas para os novos usuários do mac - android studio.
22415 karvoynistas
4
Não funciona mais para mim. Eu acho que esse atalho foi removido. Mais alguém está vendo o mesmo? Editar> Localizar> Substituir no caminho ainda está lá, é claro.
Da-Jin
1
também Ctrl + Shift + Rpara Ubuntu (Linux)
Morozov
82

No Windows :

Localizar: Ctrl+F

Localizar e substituir em Individual Classe: Ctrl+R

Encontre e substitua no projeto inteiro: Ctrl+ Shift+R

no OS X , é semelhante, basta substituir CtrlporCommand

sooglejay
fonte
44

No estúdio Android, Editar -> Localizar -> Substituir no caminho, isso fará o check-in de todo o projeto, incluindo comentários e código.

Zoombie
fonte
Esta é a resposta correta no Android Studio no macOS. A única pesquisa / substituição de projeto completo.
22618 The_dude_abides
12

Se você usar refactor-> rename para o nome do arquivo, em todo lugar que o arquivo for usado no seu projeto, o refator o substituirá.

Eu já renomeei variáveis, arquivo xml, arquivo java, vários drawable e após a operação eu pude construir diretamente sem erros.

Faça um backup do seu projeto e tente ver se ele funciona para você.

Puxar
fonte
3
O atalho padrão para renomear é Shift + F6. ;-) #
26415 Kalaschni
12

Pressione Ctrl+ Rpara encontrar e substituir códigos na classe em que você está ...

Simon
fonte
11

Use ctrl+ Rou cmd+ Rno OSX

user3245882
fonte
4

Os atalhos são

No Windows : Ctrl+ Shift+R

No Mac : Cmd+ Shift+R

JGPhilip
fonte
2

ctrl + H ..... sua opção de substituição para substituir a palavra da classe.

Dinesh
fonte
2
Mas não dá opção de substituição.
Shajeel Afzal
1

Tente usar: Editar -> Localizar -> Substituir no caminho ...

atordoado
fonte
1

Eu acho que as respostas anteriores perderam o aspecto mais importante (não trivial) da pergunta do OP, ou seja, como executar a pesquisa / substituição de uma maneira "economizadora de tempo", ou seja , uma vez , não três vezes, e "manter caso" originalmente presente.

No painel, marque " [X] Preserve Case " antes de clicar no botão Substituir tudo

Isso executa uma substituição "inteligente" que reconhece os casos em uma única passagem:

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

Além disso, para ficar tranquilo, não se esqueça de verificar o código no VCS antes de executar substituições abrangentes em todo o projeto.

Pete Alvin
fonte