我有兩個編輯器註冊了一個文件擴展名,一個擴展名的文件在其中一個編輯器中打開。我現在想在其他編輯器中以編程方式打開此文件,但不必知道它的ID。是否可以檢索已註冊一個文件擴展名的編輯列表,或者是否有更好的方法來執行此操作?如何檢索在Eclipse中爲某個文件擴展名註冊的編輯器?
回答
您使用編輯器註冊表來執行此操作。獲取註冊表有:
IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry();
註冊表有找到編輯,例如一些方法:
IEditorDescriptor [] desc = registry.getEditors("file name");
返回,將在文件名稱上工作的編輯。還有一些方法可以獲取與文件內容類型相關聯的默認編輯器和編輯器。
IEditorDescriptor
包含編輯器ID,您可以通過此編輯器ID打開方法IWorkbenchPage
。
更新:
如果你想打開兩個編輯同一個文件的同時,你將不得不使用IWorkbenchPage
openEditor
調用,它具有「匹配標誌」選項的版本:
public IEditorPart openEditor(final IEditorInput input,
final String editorId, final boolean activate, final int matchFlags)
指定IWorkbenchPage.MATCH_NONE
作爲matchFlags
停止搜索現有的打開編輯器。
如果我之前關閉了editor1,我只能打開editor2中的文件。否則,當我嘗試在editor2中打開文件時沒有任何反應。 – user2035039
添加了使用的匹配標誌選項。注意:Eclipse不會協調在兩個編輯器中所做的更改。 –
就是這樣,再次感謝:) – user2035039
- 1. 獲取關聯的文件擴展名爲Eclipse編輯器
- 2. wso2碳工作室 - 註冊擴展文件編輯器
- 3. 在窗口註冊表中註冊文件擴展名?
- 4. 某些文件擴展名上的Eclipse自動編譯器
- 5. 如何在adobe-brackets編輯器中添加文件擴展名?
- 6. 如何在Visual Studio 2010/2012中將自定義文件擴展名註冊到JavaScript編輯器?
- 7. 如何擴展名的文件添加到VSIX MEF編輯器擴展
- 8. 檢查建議的文件擴展名是否在系統上有效/註冊的文件擴展名
- 9. 獲取文件的擴展名(編輯)
- 10. Eclipse插件處理與不同編輯器相同的文件擴展名
- 11. 在plug-in.xml中如何將文件擴展名與eclipse插件中特定類型的編輯器相關聯
- 12. 獲取不帶擴展名的文件名,textmade包編輯器
- 13. 有沒有在文本編輯器中覆蓋文件名的擴展名?
- 14. 編輯爲`註冊表文件.mp3`
- 15. 部署VS2010擴展(VSIX)並在窗口上註冊新的文件擴展名
- 16. Verilog:如何在註冊表中擴展二進制文件?
- 17. 註冊表 - .sdf文件的ContextMenu擴展
- 18. 如何在IsolatedStorage中檢查文件的文件擴展名?
- 19. 如何爲Ace編輯器自動選擇「模式」,給定文件擴展名
- 20. 如何在媒體編輯器中自定義擴展名?
- 21. 爲NHibernate註冊擴展
- 22. Chrome擴展在Background.js中註冊事件
- 23. 德爾福 - 如何註冊文件擴展名爲自動打開?
- 24. 爲特定文件擴展名註冊windows shell名稱空間文件夾視圖擴展
- 25. 編輯擴展名爲chrome的清單文件
- 26. 如何使用Eclipse Web頁面編輯器作爲插件擴展點
- 27. xcode 8搜索編輯器擴展
- 28. 檢查文件擴展名在android中
- 29. 在Formview中檢查文件擴展名
- 30. 在CI中檢索文件擴展名的問題
右鍵單擊要編輯的文件。其中一個選項是「打開...」。將鼠標懸停在該選項上,您將看到爲該擴展程序註冊的編輯列表。 –
對不起,我的意思是通過編程方式打開文件:) – user2035039