开发者

Plugin eclipse auto start in product

I am trying to create a plugin that loads different resources taken from the loaded project. I am trying to register to ResourceChangeListener of the workspace in an early stage, so that I get notification of the resources that are added to the workspace. The earlyStartup of org.eclipse.ui is too late(If the projects are already loaded to the workspace). How or which 开发者_如何转开发extension point can I use in order register my listener in a time that I can listen to the workspace resource changes ?

Thanks, Clint


You should investigate having a workspace save participant to handle situations before your plug-in is started normally. Few plug-ins are important enough to warrant always starting up that early without any user involvement.

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


If you want to know the resources (i.e. projects) that are open in a workspace, you can just get the IWorkspace and look at the project contained in it.

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

Then you should be able to just traverse this tree structure to find out about all the resources. Hope this helps.

Here are some resources:

  • Resources and File System
  • Resource Changes in Eclipse


You can try to use the "org.eclipse.ui.services" extension point as follows:

<extension point="org.eclipse.ui.services">
  <sourceProvider provider="com.plugin.YourClass"></sourceProvider>
</extension>

YourClass is a class extends org.eclipse.ui.AbstractSourceProvider

Then your plugin will startup very early!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜