Найти и заменить Android-студию

271

Есть ли способ найти и заменить все вхождения слова во всем проекте (а не только в одном классе, использующем refactor -> rename), а также поддерживать регистр, либо в Android Studio, либо с помощью сценария командной строки?

Например, Поставщик должен перейти к Продавцу, поставщик -> продавец, ПОСТАВЩИК -> ПОТРЕБИТЕЛЬ. Мой начальник хочет, чтобы я сменил всех поставщиков на продавца, над которым я работаю. Я делал это в течение часа, и я знаю, что я трачу свое время. Дайте мне знать о любых предложениях по экономии времени.

sirFunkenstine
источник
1
Один из способов сделать это - щелкнуть правой кнопкой мыши в решении по структуре папок и там выбрать заменить в пути.
Йохан

Ответы:

543

Я думаю, что ярлык, который вы ищете, это:

Ctrl+ Shift+ Rв Windows и Linux / Ubuntu

Cmd+ Shift+ Rв Mac OS X

ссылка: источник

Krylez
источник
4
Я на OS X, и это было все еще Ctrl + Shift + R
CodyMace
3
Это сработало чудесно! Мне пришлось переименовать класс целиком, включая комментарии, геттеры, сеттеры, конструкторы, новые вызовы, РАБОТЫ, но рефактор андроид-студии не давал мне покоя. Ctrl + Shift + R, однако, проигнорировал все это и жестко изменил файлы, после которых проект должен был быть перезагружен. Выберите «сохранить дело», иначе все испортится.
G_V
4
в OS X по крайней мере для меня была Command вместо Ctrl. Просто для новых пользователей Mac - Android Studio.
karvoynistas
4
У меня больше не работает. Я думаю, что этот ярлык был удален. Кто-нибудь еще видел то же самое? Правка> Найти> Заменить в пути все еще там, конечно.
Да-Цзинь,
1
также Ctrl + Shift + Rдля Ubuntu (Linux)
Морозов
82

В Windows :

Найти: Ctrl+F

Найти и заменить в одном классе: Ctrl+R

Найти и заменить во всем проекте: Ctrl+ Shift+R

на OS X похоже, просто замени CtrlнаCommand

sooglejay
источник
44

В Android студии Edit -> Find -> Replace in path, это проверит весь проект, включая комментарии и код.

Zoombie
источник
Это правильный ответ в Android Studio на macOS. Единственный полный проект поиска / замены подметальной машины.
the_dude_abides
12

Если вы используете refactor-> rename для имени файла, везде, где файл используется в вашем проекте, рефактор заменит его.

Я уже переименовал переменные, XML-файл, Java-файл, несколько Drawable и после операции я мог построить напрямую без ошибок.

Сделайте резервную копию вашего проекта и попробуйте посмотреть, работает ли он для вас.

Тянуть
источник
3
Ярлык по умолчанию для переименования - Shift + F6. ;-)
Калашни
12

Нажмите Ctrl+, Rчтобы найти и заменить коды в классе, где вы находитесь ...

Саймон
источник
11

Используйте ctrl+ Rили cmd+ Rв OSX

user3245882
источник
4

Ярлыки

В Windows : Ctrl+ Shift+R

На Mac : Cmd+ Shift+R

JGPhilip
источник
2

Ctrl + H ..... дает возможность заменить слово из класса.

Динеш
источник
2
Но это не дает замены.
Shajeel Afzal
1

Попробуйте использовать: Edit -> Find -> Replace in path ...

изумленный
источник
1

Я думаю, что в предыдущих ответах пропущен самый важный (нетривиальный) аспект вопроса ОП, а именно, как выполнить поиск / замену «экономя время», то есть один раз , а не три раза, и изначально «поддерживать дело» изначально настоящее время.

На панели установите флажок « [X] Сохранить регистр », прежде чем нажимать кнопку «Заменить все».

Это выполняет "умную" замену с учетом регистра за один проход:

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

Кроме того, для спокойствия не забудьте проверить код в VCS перед выполнением широких замен для всего проекта.

Пит Элвин
источник