Есть ли способ заставить Eclipse автоматически искать статический импорт? Например, теперь, когда я, наконец, обновился до 4 июня, я бы хотел написать:
assertEquals(expectedValue, actualValue);
нажмите Ctrl + Shift + O и добавьте Eclipse:
import static org.junit.Assert.assertEquals;
Возможно, я слишком много спрашиваю.
Я использую Eclipse Europa, который также имеет раздел предпочтений:
Окно > Настройки > Java > Редактоp > Контентная поддержкa > Избранное
В моем случае у меня есть следующие записи (при добавлении, использовании "нового типа" и опускании .*
):
org.hamcrest.Matchers.*
org.hamcrest.CoreMatchers.*
org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*
Все, кроме третьего, являются статическими. Имея эти фавориты, если я набираю "assertT
" и нажимаю Ctrl + Space, Eclipse предлагает assertThat
в качестве предложения, и если я его выберу, он добавит правильный статический импорт в файл.
Если вы выделите метод Assert.assertEquals(val1, val2)
и нажмите Ctrl + Shift + M (Добавить импорт), он добавит его как статический импорт, по крайней мере, в Eclipse 3.4.
Eclipse 3.4 имеет раздел "Избранное" в разделе "Окно" > "Настройки" > "Java- > Editor- > Content Assist"
Если вы используете org.junit.Assert
много, вы можете найти какое-то значение для его добавления.
Не совсем то, что я хотел, но я нашел обходное решение. В Eclipse 3.4 (Ganymede) перейдите к
Окно- > Настройки- > Java- > Editor- > Content Assist
и установите флажок Использовать статический импорт (только 1,5 или выше).
Это не приведет к импорту в Оптимизированном импорте, но если вы выполните Quick Fix (CTRL + 1) в строке, он даст вам возможность добавить статический импорт, который достаточно хорош.
Из Контентная поддержка для статического импорта
Чтобы получить предложения по предоставлению контента для статических членов, настройте список избранных статических элементов на странице "Предпочтения избранных страниц"
Java > Editor > Content Assist > Favorites
.
Например, если вы добавили в этот списокjava.util.Arrays.*
илиorg.junit.Assert.*
, все статические методы этого типа, соответствующие префиксу завершения, будут добавлены в список предложений.
Открыть Window » Preferences » Java » Editor » Content Assist » Favorites
С http://www.3pintech.com/products/fast-code/ вы можете статическим импортировать класс. Тогда все статические члены получат помощь кода. Вы можете взглянуть на это.
Для тестов SpringFramework я также рекомендую добавить ниже
org.springframework.test.web.servlet.request.MockMvcRequestBuilders
org.springframework.test.web.servlet.request.MockMvcResponseBuilders
org.springframework.test.web.servlet.result.MockMvcResultHandlers
org.springframework.test.web.servlet.result.MockMvcResultMatchers
org.springframework.test.web.servlet.setup.MockMvcBuilders
org.mockito.Mockito
Когда вы добавляете выше как новый тип, он автоматически добавляет. * к пакету.