0

我正在构建一个在编辑器中执行各种操作的 Eclipse 插件 - 问题是我的代码在 UI 代码加载之前加载和启动(我相信),因此在启动时出现空指针错误。

我找不到一个“isTheInterfaceLoaded()”方法,所以我使用下面的代码来检查接口是否启动。

public static boolean areWeOnline() {
    IFile file = null;
    IWorkbenchWindow win = getWorkBenchWindow();
    IWorkbenchPage page = win.getActivePage();
    if (page != null) {
        IEditorPart editor = page.getActiveEditor();
        if (editor != null) {
            IEditorInput input = editor.getEditorInput();
            if (input instanceof IFileEditorInput) {
                file = ((IFileEditorInput) input).getFile();
            }
        }
    }
    if (file == null) {
        return false;
    }
    else
    {
        return true;
    }
//JR got to be a better way - stackoverflow it?
}

(评论确实在代码中) - 现在这有效,但我确信必须有其他一些更优雅的方式来做到这一点 - 有什么想法吗?

4

0 回答 0