Eclipse имеет некоторые проблемы с автоматическим импортом статических классов

У меня проблемы с затмением.

если я использую что-то вроде anyMap() в исходном коде и нажимаю затем CTRL + SHIFT + O, обновление в списке импорта выполняться не будет.
Если я напишу что-то вроде: import static org.mockito.Matchers.* в моем импорте, тогда станет известно anyMap().
Если нажать затем CTRL + SHIFT + O, потому что мне пришлось импортировать некоторые другие классы, import static org.mockito.Matchers.* будет заменен на import static org.mockito.Matchers.anyMap

Если я хочу использовать then anyList(), мне придется снова написать импорт import static org.mockito.Matchers.* вручную.

Я знаю эту тему Может затмить организацию импорта ( ctrl + shift + o) изменить обработку статического импорта в команде? и решение работает нормально, но есть ли возможность, чтобы eclipse автоматически знал статические классы, которые я хочу использовать?


person Joergi    schedule 06.08.2012    source источник


Ответы (1)


Да, это возможно .. см. Этот вопрос:

Оптимизация импорта Eclipse для включения статического импорта

Проверьте раздел предпочтительных настроек:
Окно »Настройки» Java »Редактор» Помощник по содержанию »Избранное

Нажмите "Новый тип" и добавьте org.mockito.Matchers примерно так:

Добавить новый тип

Как только вы это сделаете, у вас должна появиться соответствующая запись, например:

Запись появляется

После этого, если вы наберете anyM в коде и нажмете Ctrl + Space, вы увидите, что статический метод является одним из предложений помощи по содержанию. Если вы выберете это, соответствующий импорт будет добавлен автоматически:

Предложение

Если вы наберете что-то, что не соответствует ничего, кроме статического, импорт будет автоматически добавлен. Например, если вы набрали anyMap и затем нажали Ctrl + Space, импорт будет добавлен напрямую.

person Ashutosh Jindal    schedule 06.08.2012
comment
еще раз короткий вопрос: он отлично работает для автозаполнения, но все еще не работает, нажав CTRL + o - person Joergi; 27.08.2012
comment
Ctrl + o - открыть ресурс в рабочей области. Вы имели в виду Ctrl + Shift + o организовать импорт? - person Ashutosh Jindal; 27.08.2012
comment
извините, да, я имею в виду CTRL + SHIFT + O - он не импортирует статические классы, он будет импортировать только с помощью автозаполнения - person Joergi; 28.08.2012
comment
@Joerg, я не смог найти способ включить статический импорт при выполнении операции «Организовать импорт» (Ctrl + Shift + O). Однако плагин быстрого кода был очень полезен при добавлении статического импорта: fast-code.sourceforge.net/documentation .htm (поиск Create Import). - person Ashutosh Jindal; 28.08.2012