我想了解如何爲特定編程語言開發Eclipse編輯器。有沒有可以幫助我的教程?如果它涵蓋語法突出顯示和自動完成等主題將是有益的。有關開發自定義Eclipse編輯器的教程
回答
我開始於this one。這是我過去的一年,但概念保持不變。
我可以建議的最好的方法就是找到一個已經集成的語言,看看他們是如何做到的。以下是真正的建議 - 不要選擇一個以org.eclipse
開頭的軟件包名稱(如螞蟻之一)。 eclipse提供瞭如此多的支持,如果從另一個包前綴開始,可以更容易地看到需要編寫哪些代碼。例如,請嘗試查看groovy或scala插件。
根據我的經驗,錯誤突出顯示哪個是最難做到的;其次最難的是內容協助。
如果您正在控制編輯器或正在編寫編輯器的語言的運行時,如果您可以讓編譯器爲您提供IDE需要的所有數據,它會使生活變得更加輕鬆(例如,令牌列表 - 用於語法着色,工具提示;內容幫助會好得多,因爲您沒有僞造編譯器,而是使用真正的編譯器;與錯誤高亮顯示一樣)。
的IDE只顯示錯誤信息的相對容易的工作,和着色等
一旦你擁有了它下來才顯示,示例XML編輯器,看起來相當有用。
大部分的分區規則我發現沒那麼有用;我總是最終構建自己的 - 在令牌列表中進行二進制搜索非常有用。
您可能正在尋找像這篇文章在建設Eclipse editors with JFace text。它足夠讓你開始,它通過語法突出顯示,內容輔助,內容大綱和錯誤標記。
我已經看到了一個基於標準的文本編輯器Eclipse的最好的一個是
http://www.ibm.com/developerworks/edu/os-dw-os-ecl-commplgin1.html
(你需要註冊一個免費的IBM帳戶)。 Prashant Deva,一位非常好的ANTLR2插件的作者做了這個。
您可能還需要考慮這樣做會產生一個編輯工具:
Eclipse建模項目(EMF/TMF/GMF)
http://www.eclipse.org/modeling/
TMF有助於建立文本編輯器; GMF幫助建立圖形編輯器。 一個非常不錯的書可用(也狩獵書)
教程在:http://wiki.eclipse.org/index.php/GMF_Tutorial
上GMF一個好的介紹:http://www.ibm.com/developerworks/opensource/library/os-ecl-gmf/
動態語言工具包
教程可從該網站獲得。請注意,您也可以使用DLTK進行靜態語言編輯; 「動態」部分來自解釋器配置和啓動。
的Xtext(現在TMF的一部分)
注:良好的內容幫助是非常困難的;它確實涉及語法中每個終端的後續分析。您可以通過跟蹤定義的符號和關鍵字並只提示與現有前綴匹配的所有內容來簡化它。上面的發電機組使這一點更容易,但並不完美。
祝你好運!
所有這些答案都很好,我查看並使用了上面鏈接的教程。
我想加上來自布拉格Charles大學的this one。它最近更新了,而上面提到的是從5 - 10年前。
我並不確定事情發生了什麼變化,但由於它對我有幫助,所以我在這裏添加它。
- 1. 開發自定義Javascript html編輯器
- 2. eclipse自定義編輯器空白
- 3. 在Eclipse中自定義Java編輯器
- 4. Eclipse編輯器自定義顏色
- 5. 在PDE中使用自定義編輯器打開eclipse視圖
- 6. IWorkbenchPart.openEditor()不打開自定義編輯器
- 7. 如何在自定義Eclipse編輯器中公開內容格式化程序?
- 8. Eclipse插件開發編輯器字體
- 9. 關於使用eclipse存在編輯器的java插件開發
- 10. 自定義VBA編輯器
- 11. Aloha編輯器自定義
- 12. 自定義WordPress編輯器
- 13. 自定義JComboBox編輯器
- 14. MVC自定義編輯器
- 15. Eclipse文本編輯器插件和自定義編碼
- 16. 當文件包含特定文本(Eclipse RCP)時打開自定義編輯器
- 17. 關於編寫自定義Django小部件的教程?
- 18. Eclipse中的自定義文本編輯器內的小部件
- 19. 在Eclipse RCP中切換自定義編輯器的斷點?
- 20. Eclipse可視化編輯器中的自定義Android視圖
- 21. 如何自定義Eclipse的文本編輯器代碼格式
- 22. 自定義Eclipse透視圖中的多個編輯器區域
- 23. 是否有關於使用VideoView.setVideoURI()的自定義URI的教程?
- 24. Extjs的HTML編輯器和如何自定義編輯器
- 25. eclipse plugin dev:如何從cnf打開自定義編輯器(雙擊)。
- 26. Eclipse插件開發教程 - 2013
- 27. 如何在slickgrid上實現可編輯的自定義列,編輯器是自定義選擇編輯器?
- 28. 自定義XML佈局編輯器Android Eclipse
- 29. 如何執行自定義Eclipse編輯器
- 30. 如何爲自定義eclipse編輯器實現Quick Fix/Quick Assist?