Заменить импорт константы статическим импортом в IntelliJ Idea

У меня есть код с некоторыми константами в формате ClassName.CONSTANT_NAME. Я хочу быстро заменить это на CONSTANT_NAME. Но я не нашел никакого эффективного способа сделать это. Каждый раз, когда я хочу статически импортировать что-то, мне нужно:

alt + enter
Add on demand static import for ....

для каждого класса. Но есть ~1000 классов

Есть ли быстрый способ преобразования импорта в статический импорт для многих классов?


person Demiteli    schedule 04.12.2018    source источник
comment
Я предполагаю, что это будет зависеть от вашей IDE. Я не верю, что IntelliJ имеет такую ​​встроенную функцию. Однако вы могли бы добиться этого, написав отдельное приложение, которое один раз модифицирует ваш исходный код Java.   -  person Zephyr    schedule 04.12.2018
comment
найти и заменить, кажется, единственное решение, которое я думаю, как строка import, так и фактическое имя константы.   -  person Naman    schedule 04.12.2018
comment
Я не знаю, какой ide вы используете, но, возможно, вы можете использовать методы рефакторинга, например метод переименования. При этом вы можете изменить один и тот же код одновременно на всех позициях.   -  person nerd100    schedule 04.12.2018
comment
Я думаю, вы можете получить что-то здесь blog.jetbrains.com/idea/2016/01/ добавлять однозначный импорт на лету   -  person Naman    schedule 04.12.2018
comment
nullpointer, добавить однозначный импорт на лету, к сожалению, у меня это не работает (я должен открывать каждый файл в ide для выполнения автоимпорта - это не полностью автоматически). Я не знаю почему. Но первый комментарий кажется, что это решение для меня. Спасибо!   -  person Demiteli    schedule 05.12.2018


Ответы (1)


Похоже, структурный поиск и замена — хороший способ сделать это.

Шаблон поиска: ClassName.CONSTANT_NAME
Шаблон замены: ClassName.CONSTANT_NAME

И убедитесь, что вы установили флажок Use static import. Это добавит статический импорт для вас.

Диалоговое окно структурной замены из IntelliJ IDEA 2018.3

person Bas Leijdekkers    schedule 06.12.2018