我正在构建一个在编辑器中执行各种操作的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?
}
(评论真的在代码中) - 现在这有效,但我确定必须有其他一些更优雅的方式 - 任何想法?