JavaRush /Курсы /Java Collections /IDEA: replace, find

IDEA: replace, find

Java Collections
9 уровень , 8 лекция
Открыта

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

— Давай! Сегодня прямо день чудес. Оказывается, я и половины возможностей 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
ну и кто мне возместит материю? а? Доктор Рефакторинг?
Нейросеть Уровень 41
11 сентября 2023
А тебе она зачем? Конец курса ж
Denis Rogov Уровень 1 Expert
12 сентября 2023
Материя есть материя. К тому же, я начинал с коллекций ))
Maks Panteleev Уровень 41
31 июля 2021
Пользуясь случаем, еще хочу отметить что в идее можно разбить рабочую область на 2/3/4 части и в каждую закинуть нужные вкладки, я обычно так условие задачи выношу горизонтально вниз, оч удобно
Kes Уровень 41
6 февраля 2022
Выношу всегда условие задачи в отдельное окно, чтобы использовать ctrl + tab
Рогов Игорь Уровень 17
1 июня 2022
как разбить ?
Maks Panteleev Уровень 41
2 июня 2022
просто перетащить вкладку в любое место нужно)
Николай Уровень 41
22 января 2021
Вот это крутые вещи. Их надо было начинать где-то в начале курса!
Алексей Мирный Уровень 41
20 января 2021
Еще так в Ворде можно делать))
Stasis Уровень 1
20 ноября 2020
"Специально обвела их кружочком на скриншоте." - Меня глючит что-ли? Кто нибудь там кружочек нашел?
LuneFox Уровень 41 Expert
19 марта 2022
К верхнему днищу бака приваривается треугольное отверстие диаметром 3 х 4...
FatCat Уровень 51
3 октября 2022
там есть кружочек, просто он квадратный=)
Хорс Уровень 41
6 октября 2020
"частО слова совпадает с шаблоном" -> "частЬ слова совпадает с шаблоном" исправьте пожалуйста
Konstantin Уровень 41
18 сентября 2020
Во блин секта поклонников Идеи. В Eclipse для этих целей есть отдельный инструмент для навигации по классу -
6 февраля 2021
Вам не все равно кто какую IDE использует? Нравится Eclipse пользуйтесь на здоровье, Ваши сочинения и возмущения в каждой лекции по этому поводу выглядят как навязывание своего мнения.
Сергей Уровень 1
20 июля 2022
Сектант Eclipse. ;)
Igor Petrashevsky Уровень 47
30 августа 2022
а потом вы повзрослеете )
ram0973 Уровень 41
20 августа 2020
Кто знает как не писать тягомотину типа LightBulb lightBulb = new LightBulb(); ?
2 сентября 2020
С помощью Lombok можно делать как в Котлине: val lightBulb = new LightBulb(); Ну, то есть почти как в Котлине, если я не ошибаюсь, то от new и ";" не избавиться
ram0973 Уровень 41
2 сентября 2020
https://stackoverflow.com/questions/11891641/whats-the-best-way-to-use-shortcuts-and-autocomplete-to-create-a-new-object-in
Mike Уровень 35
11 декабря 2020
Очень годная ссылка, спасибо ))
Володимир Штаба Уровень 41 Expert
26 мая 2020
выкачка материи бло
Dinar Уровень 41
5 ноября 2019
Задачи-то будут? Материя сгорает аж больно смотреть