Eclipse - автоматический импорт классов java.util при неоднозначном импорте

avatar
user7294900
8 апреля 2018 в 08:57
1774
1
8

Есть ли способ, которым Eclipse будет автоматически импортировать классы из пакета java как java.util.List без необходимости явно выбирать его в каждом классе?

(даже без Ctrl + Shift + O))

Когда я пишу List и eclipse автоматически импортирую java.util.List вместо того, чтобы предлагать нерелевантный список как org.apache.xmlbeans.impl.xb.xsdschema.ListDocument.List

Я знаю, что могу исключить с помощью фильтров типов, но я просто хочу, чтобы определенные объекты в виде списка автоматически импортировались.

Источник
howlger
3 сентября 2018 в 06:54
0

Если вы используете помощник по содержимому или выполняете рефакторинг, оператор импорта добавляется автоматически. Кроме того, вы можете сделать Организовать импорт при сохранении. Но для этого потребуется избежать двусмысленности с помощью фильтров типов и/или путем ограничения видимости конкретных типов в конкретной библиотеке.

user7294900
3 сентября 2018 в 07:03
0

@howlger Я вижу в Content Assist (Neon), что это только для одного предложения

howlger
3 сентября 2018 в 07:24
0

Если вы пишете код оператор за оператором, используя помощник по содержимому или e. грамм. при выполнении TDD с использованием Quick Fixes (Ctrl+1), никакие операторы импорта не будут отсутствовать. Как получилось, что операторы импорта отсутствуют?

user7294900
3 сентября 2018 в 07:28
1

@howlger это не пропало, я просто хочу автоматически импортировать java.util.List с помощью include, вместо этого исключая другие дюжины опций

howlger
3 сентября 2018 в 07:42
0

Действительно ли у вас есть десятки определений типов (классов, интерфейсов или перечислений) с именами List?

user7294900
3 сентября 2018 в 07:49
0

@howlger Да, см. скриншот, о котором идет речь

howlger
3 сентября 2018 в 08:11
0

Понимаю. Следующие пять типов фильтров должны служить этой цели: a*.List, c*.List, o*.List, java.awt.* и javax.*.List. Тем не менее, я бы рекомендовал модульность кода e. грамм. с помощью нескольких взаимозависимых проектов или с помощью OSGi.

Mukul Bansal
15 октября 2019 в 12:39
0

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

user7294900
15 октября 2019 в 12:40
1

@MukulBansal довольно раздражает повторный выбор списка всех классов

Kamil Witkowski
16 октября 2019 в 13:01
1

@ user7294900 Вы видели вкладку eclipse Project —> Properties->Java Editor —> Save Actions? Попробуйте там Organize imports checkbox.

user7294900
16 октября 2019 в 13:07
0

@yami Спасибо, это помогает найти его первым в списке, могу ли я автоматически импортировать его?

Kamil Witkowski
16 октября 2019 в 13:10
0

@user7294900 user7294900 Я не использую Eclipse, но, насколько я понимаю, это действие происходит всякий раз, когда вы сохраняете файл. Пожалуйста, дайте мне знать, если вы довольны этим ответом.

user7294900
16 октября 2019 в 13:15
0

@yami это не полный ответ, но он помогает в правильном направлении, и, возможно, это невозможно сделать, если не будет нового улучшения.

Ответы (1)

avatar
Pawan Maurya
18 октября 2019 в 05:54
3

Автоматическая организация операторов импорта при каждом сохранении

  • Перейдите в «Окно» > «Настройки» > «Java» > «Редактор» > «Сохранить действия».
  • Выберите Выполнить выбранные действия при сохранении (по умолчанию отключено).
  • Убедитесь, что выбран параметр "Упорядочить импорт" (включен по умолчанию).

Разрешить сворачиванию Eclipse импортировать в тот же пакет подстановочный знак (.*) или всегда расширяйте их

  • Выберите "Окно" > "Установки" > "Java" > "Стиль кода" > "Организовать импорт".
  • Измените значение Количества импорта, необходимого для .*, на 0.
  • (Необязательно) Измените значение Количества статических импортов, необходимых для .*, на 0.

Исключите нежелательные пакеты с помощью фильтров типов

  • Перейдите в меню "Окно" > "Настройки" > "Java" > "Внешний вид" > "Фильтры типов".
  • Нажмите «Добавить…», чтобы добавить пакет/класс.
  • Введите java.awt.List (или java.awt.*, если вы не собираетесь использовать какие-либо классы AWT).

некоторые другие функции

  • Складывание: по умолчанию Eclipse сворачивает все операторы импорта в одну строку, чтобы ваш класс занимал меньше места на экране. Вы можете изменить это, выбрав «Окно» > «Настройки» > «Java» > «Редактор» > «Свернуть» и сняв флажок «Импорт».

  • Сортировка: если вам действительно важен порядок пакетов, вы можете перейти в меню «Окно» > «Настройки» > «Java» > «Стиль кода» > «Организовать импорт» и определить порядок пакетов по своему усмотрению. хотите, чтобы Eclipse заказал их. Это не стоит усилий, поэтому я бы пропустил это.

  • Сжатие/сокращение имен пакетов в проводнике пакетов (не в вашем классе, а в представлении): Вы можете отображать пакеты сжатыми (например, o~.e~.swt) или сокращенными (например, org.eclipse .swt.custom становится {SWT}.custom). Перейдите в «Окно» > «Настройки» > «Java» > «Внешний вид» и задайте там настройки. В диалоговом окне есть достойные примеры того, как это сделать.