【问题标题】:Eclipse-How to implement Eclipse workbench actions through plugin?Eclipse-如何通过插件实现Eclipse工作台动作?
【发布时间】:2016-07-07 13:01:27
【问题描述】:

我正在为 Eclipse 开发一个 IDE Remote,用户可以通过 Web 浏览器将命令作为 HTTP 请求转发给 Eclipse,并相应地控制 Eclipse。例如,如果您键入http://localhost/openfile,则应打开“打开文件”窗口。我已经处理了这些请求。但是我该如何执行相应的操作呢?

假设我想在收到请求http://localhost/new 时打开新建文件/项目窗口?我如何通过我的插件做到这一点?我应该使用哪个插件扩展?

【问题讨论】:

  • “保存打开的项目”是什么意思? Eclipse 没有保存项目的概念。
  • 我的意思是保存当前打开的项目中尚未保存的所有文件。但它可能是其他任何东西。如果用户键入localhost/openfile,它应该会打开“打开文件”窗口。我会更新问题。

标签: java eclipse eclipse-plugin


【解决方案1】:

对此没有一般性的答案,您需要做的事情会因操作而异。

要打开新向导,您可以使用现有命令 org.eclipse.ui.newWizard,使用类似以下内容:

IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class);

String commandId = IWorkbenchCommandConstants.FILE_NEW;

handlerService.executeCommand(commandId, event);

【讨论】:

  • 谢谢格雷格!但是我如何获取事件参数?我没有点击按钮或任何东西。它完全由代码执行。
  • 通常事件可以为空,或者您可以使用new Event() 自己创建一个。一些命令可能期待一个合理的事件,而另一些则不关心。
  • 非常感谢!我得到了那个工作!但是现在新窗口打开了多次!大约有 10 个新窗口一个接一个地打开。也许是因为触发函数被多次调用。有没有办法检查那个窗口是否已经打开,如果是就不要打开它?
  • 我不知道检查这个的简单方法。
  • 谢谢格雷格!你拯救了这一天! :)
猜你喜欢
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2011-07-12
  • 1970-01-01
  • 2010-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多