我正在尝试创建一个插件,用于加载从加载的项目中获取的不同资源。 我试图在早期阶段注册到工作区的ResourceChangeListener,以便获得添加到工作区的资源的通知。 org.eclipse.ui的earlyStart太晚了(如果项目已经加载到工作区)。 在我可以监听工作区资源更改的时间内,我可以使用哪个或哪个扩展点来注册我的监听器?
谢谢, 奇
答案 0 :(得分:1)
您应该调查让工作区保存参与者在正常启动插件之前处理情况。很少有插件非常重要,可以保证在没有任何用户参与的情况下尽早启动。
答案 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
的类然后你的插件会很早启动!