Наиболее часто используемые строки в IntelliJ - PullRequest
1 голос
/ 25 марта 2019

Есть ли способ определить, повторяется ли какая-либо жестко закодированная строка более чем x раз во всем проекте?

Допустим, у меня есть проект с несколькими папками и классами, и у меня есть отдельный класс с именем Constants, где я храню все свои константы проекта. Поскольку проект становится больше, было бы неплохо иметь возможность обнаруживать повторяющиеся строки в проекте. Конечно, это также может быть сделано вручную, но, вероятно, оно уже существует в IntelliJ или где-то еще.

Пример:

вместо:

class A {
    String dog = "dog";
    String cat = "cat";
    String animals = dog + cat;
}

class B {
    String dog = "dog";
    String horse = "horse";
    String animals = dog + horse;
}

Я пытаюсь сделать:

class A {
    String cat = "cat";
    String animals = DOG + cat;
}

class B {
    String horse = "horse";
    String animals = DOG + horse;
}

class Constant {
    static final String DOG = "dog";
}

Это упрощенно, но я надеюсь, что суть ясна.

1 Ответ

3 голосов
/ 25 марта 2019

Часть поиска может быть выполнена четырьмя способами.
Однако только вторая способна автоматически извлечь новую константу.

  • Использование диалога Поиск по пути с использованием конфигурации, аналогичной приведенной ниже.
    Все записи будут перечислены в Предварительный просмотр .

enter image description here


  • Использование функции Извлечение константы (ограничено текущим файлом).

enter image description here

Появится новое всплывающее окно с опцией Заменить все вхождения

enter image description here

Используя назначенный ярлык (например, Ctrl+Alt+C) или Enter, появится другое диалоговое окно, и вы сможете увидеть количество вхождений.

enter image description here


  • Использование специального осмотра, который является Duplicate String literal .
    Вы сможете запустить его через Analyze > Run inspection by name.

enter image description here

Появится новое диалоговое окно, в котором можно настроить критерии поиска

enter image description here


  • Структурный поиск ( документы ).
    К сожалению, я не осведомлен об этом.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...