1

我一直试图弄清楚如何从我正在开发的插件中调用 Eclipse 菜单项。说,为了这篇文章,我想在右键菜单中调用eclipse“格式”菜单项来格式化源,我将如何通过调用该项目来执行此操作(即不仅仅是模仿该菜单项的效果,实际上叫它)?

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

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

4

1 回答 1

1

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

顺便说一句,如果您安装了Eclipse Platform SDK插件(默认情况下可用),您实际上可以查看作为当前 Eclipse 产品一部分的任何插件的源代码(例如,尝试Ctrl+Shift+T输入,在那里您可以找到它,您可以使用 ) 进行搜索,并且您可以将任何这些插件项目导入您自己的工作区进行检查。ISourceViewerFORMATCtrl+Shift+G

于 2012-06-07T14:44:32.470 回答