IDEA: replace, find

Открыта

— Хочу еще рассказать пару волшебных вещей.

— Давай! Сегодня прямо день чудес. Оказывается, я и половины возможностей Intellij IDEA не использовал.

Волшебная вещь четвертая – поиск.

— Представь себе ситуацию: ты открыл файл на 5 тысяч строк, и тебе надо найти в нем метод, который называется getProcessTask. Или getProcessorTask или getTaskProcessor или как-то так.

У Intellij IDEA есть очень мощный механизм поиска по текущему открытому файлу.

Просто нажми Ctrl+F и начни вводить нужное слово:

IDEA: replace, find - 1

Например, мы хотим найти все вызовы метода println, тогда пишем дальше — println:

IDEA: replace, find - 2

Также можно перемещаться по найденным совпадениям, используя стрелки вверх и вниз. Специально обвела их кружочком на скриншоте.

— А там справа есть еще галочки MatchCase, Regex, Words. Что они значат?

— MatchCase – учитывать регистр букв. Если галочка снята, то различий между большими и строчными буквами не делается, если выставлена, то такие буквы считаются разными. Тогда, например, слово «Print» не будет считаться совпадающим с «print».

Галочка в Regex, говорит о том, что шаблон строки, на самом деле, является регулярным выражением и надо учитывать это при поиске всех совпадений.

Галочка в Words, говорит о том, что слово должно полностью совпасть с тем, что имеем. Если совпадает только часть слова – это не подходит.

Например, у меня есть методы print и println, и я хочу найти только print, тогда я должна буду выставить эту галочку. В примере ниже, я специально заменила два метода println на print и выделила только их, нажав галочку Words.

IDEA: replace, find - 3

— Т.е. Words переключает режимы «часто слова совпадает с шаблоном» и «все слово совпадает с шаблоном»?

— Ага.

Пятая волшебная вещь – замена.

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

Для этого есть комбинация Ctrl+R

IDEA: replace, find - 4

Давай заменим println на print.

Чтобы замена не произошла во всем классе, надо выделить нужный кусок кода и отметить галочку – In Selection – только в выделенном.

IDEA: replace, find - 5

Теперь можно смело нажимать кнопку «Replace all» и все вхождения println в выделенном куске кода будет заменены на print.

— Есть такое дело. Все отлично работает. Спасибо тебе, Элли!

Комментарии (28)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Denis Rogov
Уровень 1
Expert
30 января 2023, 22:44
ну и кто мне возместит материю? а? Доктор Рефакторинг?
Нейросеть
Уровень 41
11 сентября 2023, 14:01
А тебе она зачем? Конец курса ж
Denis Rogov
Уровень 1
Expert
12 сентября 2023, 04:27
Материя есть материя. К тому же, я начинал с коллекций ))
Maks PanteleevJava Developer в Bell Integrator
31 июля 2021, 12:01
Пользуясь случаем, еще хочу отметить что в идее можно разбить рабочую область на 2/3/4 части и в каждую закинуть нужные вкладки, я обычно так условие задачи выношу горизонтально вниз, оч удобно
KesЧайник в Банк
6 февраля 2022, 05:31
Выношу всегда условие задачи в отдельное окно, чтобы использовать ctrl + tab
Рогов Игорь
Уровень 17
1 июня 2022, 13:40
как разбить ?
Maks PanteleevJava Developer в Bell Integrator
2 июня 2022, 10:35
просто перетащить вкладку в любое место нужно)
Николай QA Automation Engineer
22 января 2021, 16:23
Вот это крутые вещи. Их надо было начинать где-то в начале курса!
Алексей Мирный Backend Developer
20 января 2021, 07:23
Еще так в Ворде можно делать))
Stasis
Уровень 1
20 ноября 2020, 00:32
"Специально обвела их кружочком на скриншоте." - Меня глючит что-ли? Кто нибудь там кружочек нашел?
LuneFoxJava Developer в BIFITExpert
19 марта 2022, 12:06
К верхнему днищу бака приваривается треугольное отверстие диаметром 3 х 4...
FatCat Backend Developer
3 октября 2022, 15:42
там есть кружочек, просто он квадратный=)
Хорс
Уровень 41
6 октября 2020, 13:44
"частО слова совпадает с шаблоном" -> "частЬ слова совпадает с шаблоном" исправьте пожалуйста
Konstantin
Уровень 41
18 сентября 2020, 08:14
Во блин секта поклонников Идеи. В Eclipse для этих целей есть отдельный инструмент для навигации по классу -
Александр один ЭсBackend Developer в EFFECTIVESOFT POLAND
6 февраля 2021, 21:29
Вам не все равно кто какую IDE использует? Нравится Eclipse пользуйтесь на здоровье, Ваши сочинения и возмущения в каждой лекции по этому поводу выглядят как навязывание своего мнения.
Сергей
Уровень 1
20 июля 2022, 11:10
Сектант Eclipse. ;)
Igor Petrashevsky
Уровень 47
30 августа 2022, 00:08
а потом вы повзрослеете )
ram0973
Уровень 41
20 августа 2020, 16:40
Кто знает как не писать тягомотину типа LightBulb lightBulb = new LightBulb(); ?
Алексей МурниковAndroid Developer в Touch Instinct
2 сентября 2020, 09:28
С помощью Lombok можно делать как в Котлине: val lightBulb = new LightBulb(); Ну, то есть почти как в Котлине, если я не ошибаюсь, то от new и ";" не избавиться
ram0973
Уровень 41
2 сентября 2020, 16:57
https://stackoverflow.com/questions/11891641/whats-the-best-way-to-use-shortcuts-and-autocomplete-to-create-a-new-object-in
Mike
Уровень 35
11 декабря 2020, 18:59
Очень годная ссылка, спасибо ))
Володимир Штаба
Уровень 41
Expert
26 мая 2020, 23:05
выкачка материи бло
Dinar
Уровень 1
5 ноября 2019, 19:09
Задачи-то будут? Материя сгорает аж больно смотреть