Мне создали проект другие, который включает тысячи файлов класса и имеет имена пакета, явно выведенные для каждой ссылки на любой из их классов. Похоже, что код был перепроектирован. Есть ли хороший инструмент для Java, который осуществляет рефакторинг код так, чтобы явно введенные префиксы пакета были удалены из ссылок класса и перемещены в операторов импорта.
Заранее спасибо.
Править:
Я думаю, что пример поможет. Я хочу иметь импорт наверху, и я не забочусь, сколько там импорт.
javax.swing.JButton button1 = new javax.swing.JButton();
Вообразите код выше, но абсолютно везде в тысячах на тысячи строк кода среди тысяч файлов класса. Я хотел бы иметь возможность удалить все префиксы и просто иметь хороший импорт javax.swing. JButton; наверху каждого файла класса.
Я не знаю инструмент для этого использования, но мне пришлось сделать что-то похожее несколько месяцев назад.
Напишите сценарий или сделайте поиск, замените на Regex, чтобы избавиться от явных набранных префиксов пакета.
, чем пусть Eclipse делает остальные с помощью «Организовать импорт». Ctrl-1
Подсказка: чтобы избежать неоднозначных чисел, настроить классную патрубку не более необходимым libs. Для Srund около 800 классов я был сделан через 2 часа.
Отредактируйте: Вы должны знать, что в Prefeneces / Java / Editor / Save Actions, организуйте импорт можно настроить как сохранение действий.
Для одного типа Eclipse предлагает действие «Добавить импорт» (Shift + Ctrl + M). Это имеет именно то, что вы хотите - с большим, большим ограничением: вы должны поместить курсор на тип, и он повлияет на это только «выбранный» вхождение.
Но, возможно, это действие может быть использовано в сценарии / глобальном методе. Плагин JDT может пройти через AST и вызывать это действие на каждый тип найден.
Эта тема говорит:
Выберите просмотр проводника пакета, щелкните правой кнопкой мыши на вашем проекте, выберите «Источник», затем организуйте импорт. Бобс, ваш дядя - все нежелательные импорта удаляются
, чтобы сделать его лучше отформатированным:
Щелкните правой кнопкой мыши проект> Источник> Организовать импорт
Теперь, что остается, это найти способ разбить полностью квалифицированные имена из код. Вы можете подумать о каком-то регулярном выражении. Взгляните на в этой библиотеке - кажется полезным. Эта статья также должна быть полезной.
Любопытно повторяющийся образец
Вероятно, вся концепция мета-программирования также
-121--3126718-Это более хорошая практика кодирования, так как любой читающий ваш код сразу узнает, какие классы используются определенным классом, просто посмотрев на блок импорта в верхней части файла, тогда как нужно было бы покопаться, чтобы узнать, если вы использовали подстановочные знаки.
-121--762943-IntelliJ Idea имеет инструменты для выполнения этой задачи в каждом файле. Возможно, вы также можете сделать это навалом, но я не знаю как.
Попробуйте провести 30-дневную оценку, и вы, вероятно, будете довольны большим количеством функций очистки импорта.
Вам, вероятно, нужно заменить все javax.swing.
. Затем организуйте импорт.