Eclipse插件 - 在用户透视时更改窗口时执行

时间:2016-03-31 20:55:49

标签: eclipse-plugin

我想问一下,当用户在视角中切换窗口时,如何自动执行插件。

change window

可以使用启动处理程序和IWorkbench来完成吗?

1 个答案:

答案 0 :(得分:1)

您可以使用IPartListener收听哪个部分处于有效状态的更改。

您可以使用IStartup进行设置,但您需要使用以下内容进行设置:

public class StartUp implements IStartup
{
  @Override
  public void earlyStartup()
  {
    IWorkbench workbench = PlatformUI.getWorkbench();
    workbench.getDisplay().asyncExec(new Runnable() {
       @Override
       public void run() {
         IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
         if (window != null) {
           window.getPartService().addPartListener(your part listener);
         }
       }
     });
  }
}

这是使用Display.asyncExec来延迟设置部件监听器,直到启动完成,因为earlyStartup运行时工作台窗口不可用。