Есть ли способ заставить Eclipse добавить статический импорт без автозаполнения? - PullRequest
9 голосов
/ 11 января 2011

Eclipse может добавлять однозначные классы с действием «при сохранении», но не разрешает статические функции.Я не всегда использую автозаполнение, и возвращаться для запуска это громоздко.

например, я часто пишу код, такой как

printDebug("my value", my_obj);

, и я хочу, чтобы он автоматически добавлял

import static util.DebugOut.printDebug;

ПРИМЕЧАНИЕ : Повторюсь, я не ищу (а) ничего, что требует ctrl+space, (б) автоматический импорт класса

Ответы [ 4 ]

9 голосов
/ 11 января 2011

Я знаю, что это не совсем то, что вы просили, но я все равно решил написать.Я бы предложил использовать шаблон Eclipse, чтобы сделать то, что вы пытаетесь достичь.Например, если бы я хотел использовать Math.sin(), как если бы он был статически импортирован, я бы использовал следующий шаблон:

${:importStatic(java.lang.Math.sin)}sin(${cursor});

Для вас вы хотите выполнить следующие шаги:

  • Перейдите в Windows-> Настройки
  • Под Java-> Редактор-> Шаблоны нажмите «Создать ...»
  • Назовите шаблон как-нибудь быстро, например, «printDebug» или«отладка».Заполните описание
  • Укажите шаблон ниже и нажмите ОК, ОК.
  • Чтобы использовать, введите «debug» (или как там было), а затем CTRL-Space.

Шаблон:

${:importStatic(util.DebugOut.printDebug)}printDebug(${someString},${someObject});

Объяснение: Переменная importStatic добавит указанный статический импорт, если он может быть разрешен и не конфликтует с существующим импортом.someString и someObject предлагают пользователю (вам) заменить эти значения действительными выражениями и позволяют переходить к следующему.

При этом вы, вероятно, найдете его намного быстрее, чем автоматическийимпортируйте в конце.

Редактировать

Что касается вашего "фактического" вопроса, вы можете найти следующее уместным.По сути, это дубликат.

5 голосов
/ 12 января 2011

См. Окно-> Настройки-> Java-> Редактор-> Ассистент контента-> Избранное.

2 голосов
/ 02 апреля 2011

Вы можете переключиться на другую IDE, такую ​​как IDEA, где она просто работает , или попробуйте обходной путь, как это:

например. Я часто пишу код вроде

util.DebugOut.printDebug("my value", my_obj);

когда навести курсор на printDebug и ctrl-shift-m

добавлен импорт:

import static util.DebugOut.printDebug;
0 голосов
/ 25 марта 2011

См. Настройки-> Java-> Стиль кода-> Организовать импорт. Там вы можете настроить статический импорт, чтобы оператор импорта автоматически добавлялся

...