模仿Eclipse的“开放项目”UI功能

时间:2014-08-06 08:06:44

标签: eclipse eclipse-pde

我正在开发一个在Eclipse工作台内运行的Ant任务。

Ant任务需要完成一个简单的任务:关闭并重新打开项目。

但是,以下代码:

IProject project = ...;
project.close(null);
project.open(null);

似乎与关闭项目并使用UI 重新打开的结果完全相同。

在我看来,"打开一个项目的UI操作"不仅仅是调用project.open();调用插件的行为"响应"到项目的open()电话。

是否有方便的方式来模仿Eclipse打开项目的UI功能?我认为这个代码必须封装在某个地方,但是看看Eclipse的庞大源代码似乎并没有显示出来。

编辑背景:

我实际上正在使用Rational Application Developer(v9)。我正在使用projectSetImport Ant任务将现有项目从文件系统导入工作台。这些项目是Git存储库的一部分。我注意到,一旦将项目导入工作区,EGIT功能在这些项目上是不可用的,除非我关闭项目并重新打开它们(通过UI)。

1 个答案:

答案 0 :(得分:1)

Project Open GUI代码除了调用IProject.open之外没有什么用处,它确实使用了进度监视器和IWorkspaceRunnable - 这将改变稍微生成资源更改事件的方式。

代码为org.eclipse.jdt.ui.actions.OpenProjectAction - 尤其是internalRun方法。