エディター内でさまざまなことを行うEclipseプラグインを構築しています-問題は、UIコードがロードされる前にコードがロードされて開始される(と私は信じています)ため、起動時にnullポインターエラーが発生することです。
横たわっている「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?
}
(コメントは本当にコード内にあります)-これで機能しますが、これを行うための他のよりエレガントな方法があるに違いないと確信しています-何かアイデアはありますか?