插件eclipse自动启动产品

时间:2011-07-17 09:28:57

标签: eclipse plugins resources startup

我正在尝试创建一个插件,用于加载从加载的项目中获取的不同资源。 我试图在早期阶段注册到工作区的ResourceChangeListener,以便获得添加到工作区的资源的通知。 org.eclipse.ui的ear​​lyStart太晚了(如果项目已经加载到工作区)。 在我可以监听工作区资源更改的时间内,我可以使用哪个或哪个扩展点来注册我的监听器?

谢谢, 奇

3 个答案:

答案 0 :(得分:1)

您应该调查让工作区保存参与者在正常启动插件之前处理情况。很少有插件非常重要,可以保证在没有任何用户参与的情况下尽早启动。

http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2FresAdv_saving.htm

答案 1 :(得分:1)

如果您想知道在工作区中打开的资源(即项目),您可以获取IWorkspace并查看其中包含的项目。

IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot rootResource = workspace.getRoot();

然后,您应该能够遍历此树结构以查找所有资源。希望这会有所帮助。

以下是一些资源:

答案 2 :(得分:0)

您可以尝试使用“org.eclipse.ui.services”扩展点,如下所示:

 /**
 * My function
 *
 * @FOS\View()
 * @FOS\Get("/myfunction/")
 *
 * Request $request
 * @return mixed
 */
public function getMyFunction(Request $request)
{
    $requestParams = $request->request->all();

    return new Response($requestParams['param1']);
}

YourClass是一个扩展org.eclipse.ui.AbstractSourceProvider

的类

然后你的插件会很早启动!