Я пытаюсь выяснить какое-то время, как вызвать элемент меню Eclipse из подключаемого модуля, который я разрабатываю. Скажем, ради этой публикации я хочу вызвать пункт меню «Форматирование» в меню «Щелчок правой кнопкой мыши», чтобы отформатировать источник, как бы я это сделал, вызвав этот элемент (т. Е. Не просто подражая эффекту этого пункта меню) , на самом деле называя это)?Программный вызов пункта меню с помощью Eclipse JDT, разработка плагинов
Я не ищу, как форматировать код, просто идея вызова пункта меню.
Я склонялся к информации API на IWorkbench, Shell, ToolBar, ToolItem и т. Д., Но я действительно не знаю. Я не смог найти что-либо по этой теме в API или где-либо еще в Интернете. Есть ли лучший подход к этому, а не программному?
Eclipse, JDT - http://help.eclipse.org/indigo/index.jsp?nav=%2F3
EDIT:
String commandId = "org.eclipse.jdt.ui.edit.text.java.format";
IHandlerService handlerService = (IHandlerService)(IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
handlerService.executeCommand(commandId, null);
просто. Самая сложная часть - найти commandId, который можно легко найти, как упоминал rlegendi. Это именно то, чего я хотел. Он обращается к этому плагину через идентификатор, а затем выполняет его. Простой и эффективный. Всем спасибо!
«Есть ли лучший подход» Да, не делайте этого вообще! Элементы GUI не должны запускаться программно. Вместо этого активируйте базовую функциональность. –
Я понял, но как мне найти эту функцию? Существует множество функций, но я не уверен, как получить доступ к этой информации. Я не чувствую, что мне нужно будет переписать код, который проверен, правдив и доступен. – HJM
Я знаю, это не твоя вина. Eclipse полна ужасного тесно связанного кода. Надеюсь, что некоторые из них будут лучше в E4 –