如何在 Eclipse 插件代码中使用进度监视器?

how do I use progress monitor in eclipse plugin code?

在我的 eclipse 插件中,我创建了一个实用程序 class,当我使用我的向导创建文件时,它会做一些工作。

我想在进度条中向用户显示一些文本,警告他正在发生的事情。

我该怎么做? 非常感谢。

更新:我的向导调用我的实用程序 class,它解压缩 2 个 ZIP 文件并将 2 个项目导入工作区。所以,我想在每次操作后显示一条消息,例如:

正在解压缩文件 1... 正在解压缩文件 2... 正在导入项目 1... 正在导入项目 2...

在您的向导中 class 通过调用

启用进度监视器
setNeedsProgressMonitor(true);

在构造函数中。

然后您可以 运行 您的 IRunnableWithProgress class 与:

IRunnableWithProgress runnable = new MyRunnable();

getContainer().run(true, true, runnable);

这可以在向导或 WizardPage 中。

IRunnableWithProgress class 可能看起来像:

private class MyRunnable implements IRunnableWithProgress
{
  @Override
  public void run(final IProgressMonitor monitor)
    throws InvocationTargetException, InterruptedException
  {
    monitor.beginTask("title", progress count);

    try
     {
       ... your work
     }
    finally
     {
       monitor.done();
     }
  }
}