使用Eclipse JDT,Plug-In Development以编程方式调用菜单项

时间:2012-06-07 14:28:56

标签: java eclipse eclipse-plugin eclipse-jdt

我一直试图弄清楚如何从我正在开发的插件中调用Eclipse菜单项。说,为了发布这个帖子,我想在右键菜单中调用eclipse“Format”菜单项来格式化一个源,我将如何通过调用该项来实现这一点(即不仅仅是模仿该菜单项的效果) ,实际上称之为)?

我不是在寻找如何格式化代码,只是简单地调用菜单项。

我倾向于关于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访问该插件,然后执行它。简单有效。感谢大家!

1 个答案:

答案 0 :(得分:1)

我不确定,但您可能想要了解的是Command/Delegate框架。

顺便说一句,如果您安装 Eclipse Platform SDK 插件(默认情况下可用),您实际上可以查看当前Eclipse产品中任何插件的源代码(try { {1}}然后输入Ctrl+Shift+T,您可以在其中找到ISourceViewer,您可以使用FORMAT进行搜索,然后您可以导入任何这些插件项目你自己的工作区要检查。