我一直在试图弄清楚现在如何从正在开发的插件中调用Eclipse菜单项。说,为了这篇文章,我想调用右键菜单中的eclipse“格式”菜单项来格式化一个源文件,我将如何通过调用该项目来完成此操作(即,不只是模仿该菜单项的效果,实际上调用它)?使用Eclipse JDT以编程方式调用菜单项目,插件开发
我不是在寻找如何格式化代码,只是调用菜单项的想法。
我倾向于在IWorkbench,Shell,ToolBar,ToolItem等API信息,但我不知道。我一直无法在API或其他在线任何地方找到关于此主题的任何信息。有没有更好的方法来做到这一点,而不是编程?
的Eclipse JDT - http://help.eclipse.org/indigo/index.jsp?nav=%2F3
编辑:
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提到的那样。这正是我想要的。它通过ID访问该插件,然后执行它。简单而有效。感谢大家!
“有更好的方法吗”是的,根本不要这样做! GUI元素不应该以编程方式触发。相反,触发底层功能。 –
我想,但我该如何去寻找这个功能?有大量的功能提供,但我不知道如何访问该信息。我不认为我需要重新编写经过尝试,真实且清晰可用的代码。 – HJM
我知道,这不是你的错。 Eclipse充满了可怕的紧密耦合的代码。希望其中一些在E4中会更好 –