如何捕捉 Eclipse 正在创建新项目的时刻?

How to catch a moment when Eclipse is creating a new project?

我正在为 Eclipse IDE 开发一个 CDT 插件。我想在创建项目时写入项目范围的首选项文件,或者只是存储信息以便稍后识别该项目并写入文件。如何抓住 Eclipse 创建新项目的时间并存储一些相关信息?

您可以使用 IResourceChangeListener 侦听器来侦听所有资源更改:

ResourcesPlugin.getWorkspace().addResourceChangeListener(listener);

监听器实现了single方法:

public void resourceChanged(IResourceChangeEvent event)

从您获得资源增量的事件中:

IResourceDelta delta = event.getDelta();

delta getKind() 方法将 IResourceData.ADDED 用于新资源。

Delta 有一个 getResource 方法可以为您提供资源 - 您对 IProject.

感兴趣

注意:增量可以包含嵌套条目。你可能要使用delta的getAffectedChildren()方法来查找项目,或者使用accept方法访问delta中的所有节点。