Eclipse Optimize Imports для включения статического импорта - PullRequest
399 голосов
/ 14 ноября 2008

Есть ли способ заставить Eclipse автоматически искать статический импорт? Например, теперь, когда я наконец обновился до Junit 4, я бы хотел написать:

assertEquals(expectedValue, actualValue);

нажмите Ctrl + Shift + O и добавьте Eclipse:

import static org.junit.Assert.assertEquals;

Может быть, я слишком много спрашиваю.

Ответы [ 9 ]

561 голосов
/ 14 ноября 2008

Я использую Eclipse Europa, который также имеет раздел «Любимые предпочтения»:

Окно> Настройки> Java> Редактор> Помощник по содержимому> Избранное

У меня есть следующие записи (при добавлении используйте «Новый тип» и пропустите .*):

org.hamcrest.Matchers.*
org.hamcrest.CoreMatchers.*
org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*

Все, кроме третьего, это статический импорт. Имея их в качестве избранных, если я наберу "assertT" и нажму Ctrl + Пробел , Eclipse предложит assertThat в качестве предложения, и если Я выберу его, он добавит правильный статический импорт в файл.

239 голосов
/ 14 ноября 2008

Если вы выделите метод Assert.assertEquals(val1, val2) и нажмете Ctrl + Shift + M (Добавить импорт), он добавит его как статический импорт, по крайней мере в Eclipse 3.4.

31 голосов
/ 14 ноября 2008

Eclipse 3.4 имеет раздел «Избранное» в разделе «Окно» -> «Настройки» -> «Java» -> «Редактор» -> «Помощник по содержимому»

.

Если вы используете org.junit.Assert много, вы можете найти какое-то значение, чтобы добавить его туда.

21 голосов
/ 14 ноября 2008

Не совсем то, что я хотел, но я нашел обходной путь. В Eclipse 3.4 (Ганимед) перейдите к

Окно-> Настройки-> Java-> Редактор-> Content Assist

и установите флажок для Использовать статический импорт (только 1,5 или выше) .

Это не приведет к импорту в Optimize Imports, но если вы сделаете Быстрое Исправление ( CTRL + 1 ) в строке, вы получите возможность добавить статический импорт, который достаточно хорош.

10 голосов
/ 26 марта 2015

С Помощник по содержимому для статического импорта

Чтобы получить предложения по поддержке контента для статических участников, настройте свой список избранных статических членов на странице предпочтений «Открывает избранное» Java > Editor > Content Assist > Favorites.
Например, если вы добавили java.util.Arrays.* или org.junit.Assert.* в этот список, то все статические методы этого типа, соответствующие префиксу завершения, будут добавлены в список предложений.

Открыть Window » Preferences » Java » Editor » Content Assist » Favorites

enter image description here

5 голосов
/ 23 августа 2015

Для тестов 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

Когда вы добавляете выше как новый тип, он автоматически добавляет. * В пакет.

2 голосов
/ 31 августа 2018

В Eclipse 4.9 вы можете статически импортировать существующие вызовы, используя быстрое исправление.

Было реализовано новое быстрое исправление, которое позволяет пользователю преобразовывать статические обращения к полям и статические методы для использования статического импорта. Также возможно заменить все вхождения одновременно.

Подробнее здесь

1 голос
/ 09 марта 2019

Ярлык для статического импорта: CTRL + SHIFT + M

1 голос
/ 12 октября 2018

Выберите константу, введите

Ctrl + 1  (quick fix)

Выберите «Преобразовать в статический импорт». из выпадающего списка.

«Быстрое исправление» имеет опции, хотя это не ошибка.

...