Activator.start方法从未调用过

时间:2014-02-27 09:58:14

标签: eclipse eclipse-plugin

我已经在Activator类的start方法中实现了一些代码,目的是在打开eclipse之后立即打开一个向导。我正在尝试调试它,但启动方法永远不会被调用。 知道什么能解决吗? 这是Activator代码:

public class Activator extends AbstractUIPlugin {

    /**
     * The constructor
     */
    public Activator() {
    }

    public void start(BundleContext context) throws Exception {
        super.start(context);

        // Call function to open a wizard
        openWizard();
    }

    private void openWizard() {

        NewProjectWizard wiz;
        final WizardDialog wd;
        wiz = new NewProjectWizard();
        wd = new WizardDialog(Display.getCurrent().getActiveShell(), wiz);
        Display.getDefault().asyncExec(new Runnable() {
            @Override
            public void run() {
                wd.open();
            }
        });
    }        
}

1 个答案:

答案 0 :(得分:4)

您需要在plugin.xml编辑器的Overview选项卡上配置Activator。

还有Activate this plug-in when one of it classes is loaded选项,如果您指定此选项,则激活器将不会运行,除非其他代码引用它。如果未指定此选项,则只有在运行配置显示应启动时才会启动激活器。如果它已启动,则可以在UI代码完全初始化之前启动。

上述所有方法都是激活器放置UI代码的错误位置。