Этот обработчик предоставляется в качестве обработчика по умолчанию (приоритет == 0) для этой команды.AFAIK, однако, идентификатор org.eclipse.ui.file.restartWorkbench .
Вы можете переопределить его, предоставив другой обработчик с более высоким приоритетом.Вы можете использовать org.eclipse.ui.handlers
:
<handler class="org.example.YourResetHandler"
commandId="org.eclipse.ui.file.restartWorkbench">
<activeWhen>
<with variable="activeWorkbenchWindow">
<instanceof value="org.eclipse.ui.IWorkbenchWindow"/>
</with>
</activeWhen>
</handler>
Или вы можете просто зарегистрировать другой обработчик в вашем ActionBarAdvisor
при выполнении устаревших действий:
IHandlerService srv = (IHandlerService) window.getService(IHandlerService.class);
srv.activateHandler(IWorkbenchCommandConstants.FILE_RESTART, new YourRestartHandler());