Eclipse RCP — конфликтующие обработчики для команды ltk rename

Я разрабатываю приложение Eclipse RCP, в котором пишу свой собственный код рефакторинга. Я переопределяю команду org.eclipse.ltk.ui.refactoring.commands.renameResource следующим образом:

<extension point="org.eclipse.ui.commands">
  <command
      defaultHandler="com.rename.command.CustomRenameHandler"
      id="org.eclipse.ltk.ui.refactoring.commands.renameResource"
      name="Rename">
  </command>
</extension>

Когда я запускаю приложение, я получаю следующее сообщение об ошибке

!MESSAGE Conflicting handlers for org.eclipse.ltk.ui.refactoring.commands.renameResource 

Из-за этого иногда вызывается мой обработчик, а иногда вызывается RenameResourceHandler.

Любые указатели будут полезны.


person Divakar Patil    schedule 11.10.2017    source источник


Ответы (1)


Вы не можете переопределить команду, которая уже имеет активный обработчик или обработчик по умолчанию.

Для рефакторинга переименования необходимо написать участника переименования, используя точку расширения org.eclipse.ltk.core.refactoring.renameParticipants. Ваш участник будет вызван вместе со всеми другими участниками, которых необходимо запустить во время переименования.

person greg-449    schedule 11.10.2017
comment
Привет, Грег, в моем проекте мне нужно показать мастер переименования, отличный от мастера Eclipse по умолчанию. Как я могу этого добиться? - person Divakar Patil; 11.10.2017
comment
Вам придется написать свою собственную команду, пункты меню и обработчик. - person greg-449; 11.10.2017