Eclipse плагин "Операция не включена" - PullRequest
2 голосов
/ 25 апреля 2011

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

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

Я импортировал код «Run As -> Eclipse App» и затем попытался использовать «Введение в Ind. Из статей Eclipse». Что я делаю не так?

Я буду рад любой помощи :).

Ответы [ 4 ]

7 голосов
/ 24 декабря 2012

Проверьте ваш класс обработчика для метода isEnabled ().Я предполагаю, что при создании нового обработчика значение по умолчанию для этого метода возвращает false.Это может быть проблемой.

1 голос
/ 11 мая 2011

Мне удалось запустить его.Для тех, кто столкнется с той же проблемой:

Проверьте основы: помните, что вы можете выбрать только один метод и: он должен существовать в модели (http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IJavaElement.html)

он не должен иметь ошибок

Не должен быть конструктором

Не должен быть связан с объявлением аннотации

И: Выбрать метод Java в схеме редактора или в Package Explorer

Истановится очевидным:)

1 голос
/ 28 апреля 2011

Вы должны быть в состоянии заставить этот пример (как написано) работать, или, возможно, вам нужно открыть ошибку.Когда вы запускаете их пример в Run As, есть ли какие-либо ошибки в вашем журнале ошибок?

Еще что-то, что вы можете попробовать, это посмотреть на некоторые из рефакторингов рабочей среды.См. Org.eclipse.ltk.internal.ui.refactoring.actions.MoveResourcesHandler, который устанавливает рефакторинг ресурсов перемещения, и http://wiki.eclipse.org/FAQ_How_do_I_find_a_particular_class_from_an_Eclipse_plug-in%3F, если вам нужна помощь в отслеживании классов SDK с помощью сочетаний клавиш CTRL + SHIFT + T

.
0 голосов
/ 17 февраля 2014

Класс обработчика действий должен быть помехой со связанными интерфейсами (проверьте консоль ошибок, чтобы определить, какие интерфейсы отсутствуют, наиболее вероятно, что это будет «IActionDelegate»).

...