IntelliJ Идея расширенного поиска по ключевому слову в классах, содержащих определенное слово - PullRequest
0 голосов
/ 24 апреля 2018

Я использую IntelliJ Idea Ultimate 2017.3.

Я часто использую Ctrl + Shift + F , чтобы найти в пути любой текст в любом месте и Shift + Shift , чтобы найти любой класс по имени.

Есть ли способ объединить этот поиск текста внутри группы классов, содержащей определенное слово в егоname?


Вот пример для ясности:

В огромном проекте я хочу найти все классы, которые содержат слово, например transformation в качестве какого-либо значения (переменная, имя метода, String ...), но эти классы должны содержать в своем имени другое слово, например xml.Например,

  • Интерфейс XmlFile с методом void completeTransformation()
  • Класс MyLittleXmlClass, который работает со строковой переменной со значением "transformation"
  • Класс MyBigXmlClass, который реализует XmlFile и имеет метод void completeTransformation()
  • Класс XmlDocument, который имеет переменную с именем transformationVariable
  • и т. Д.

Ответы [ 4 ]

0 голосов
/ 24 апреля 2018

Это возможно с помощью структурной функции поиска

0 голосов
/ 24 апреля 2018

Вы можете использовать маску файла для фильтрации имени в файле. В вашем случае вы можете найти *Xml*.* (это будет поиск файла, который содержит любое ключевое слово Xml в имени файла с любым видом расширения) в поле маски файла и объединить этот поиск с обычным поиском по ключевому слову transformation

enter image description here

0 голосов
/ 24 апреля 2018

Это не обрабатывается идеально, но с помощью опции регулярных выражений в меню Find in Path, вы можете сделать следующее:

(?s)^(?=.*?SWAGGER)(?=.*?configure)(?=.*?antMatchers)

Это будет соответствовать файлу со словами SWAGGER, configure и antMatchers.

Проблема в том, что в результате он показывает каждую строку в файле.

В вашем случае вы можете попробовать следующее для:

Класс MyBigXmlClass, который реализует XmlFile и имеет метод void completeTransformation()

(?s)^(?=.*?MyBigXmlClass)(?=.*?XmlFile)(?=.*?completeTransformation)

UPDATE

Это работает в IntelliJ IDEA Ultimate 2017.1.2

0 голосов
/ 24 апреля 2018

Вы можете использовать Поиск по пути и использовать дополнительную маску файла.Маска файла также принимает звездочки, как показано на рисунке ниже: Find in Path with asterisk

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...