1
我正在嘗試製作工具欄按鈕,以便在我的RCP應用上使用另一個編輯器打開一個文件!WorkbenchPage.openEditor()什麼都不做
我都去下面的代碼:
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart oldEditor = page.getActiveEditor();
IFile file = ((IFileEditorInput) oldEditor.getEditorInput()).getFile();
IConfigurationElement[] editorsElements = Platform.getExtensionRegistry().getConfigurationElementsFor("org.eclipse.ui.editors");
IEditorInput editorInput = new FileEditorInput(file);
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page2 = window.getActivePage();
try {
page2.openEditor(editorInput, editorsElements[3].getAttribute("id"));
System.out.println("==>>"+editorInput+">>>>"+ editorsElements[3].getAttribute("id"));
} catch (PartInitException e) {
e.printStackTrace();
}
但是當我打電話去行動,他什麼也沒做!但也不會返回錯誤..
的System.out.println()
結果看起來正確:
== >> org.eclipse.ui.part.FileEditorInput(/g/Network.int)>>>> DesignEditor
我做錯了什麼?
我下面this建議做我的按鈕
對不起我的英語 問候
吧!已經做到了,但仍然這樣做。:( –
所以只是爲了闡明:你應該在你的plugin.xml中定義一個單一標識符id(例如「designeditor」),你的plugin.xml和/或manifest.MF應該爲你的插件聲明一個plugin-id(例如「org.myorg.tooling」),你在API調用中指定的編輯器id是兩者的連接(在那裏有一段時間),對吧? –
right!my editor id是「** DesignEditor **」,而我的插件ID是「** IntergridPlugin.integridPlugin **」,當我打電話時,我打電話給「** IntergridPlugin.integridPlugin.DesignEditor **。 –