2011-03-01 64 views
1

我需要添加一些功能以蝕除文本編輯器。我們的目標是獲得一個圖形上下文或者將SWT Canvas添加到任何和所有Eclipse AbstractTextEditor中,並將這些修改打包到一個插件中(所以通過安裝我提供的插件,編輯器修改將適用於Java編輯器,XML編輯器,純文本編輯器等)。是否有任何擴展點可以滿足這個目的,或者是我最好的一個片段?任何幫助表示讚賞。爲所有Eclipse文本編輯器添加功能

回答

2

我建議您查看AbstractTextEditor的源代碼以查看擴展點是否存在用於此目的。如果存在一個擴展點,那麼在該類源中就會很明顯。

我敢打賭,這樣的擴展點不存在。您只需打開一個增強請求,然後修補包含AbstractTextEditor插件的插件以更改該文件的來源。一個片段是不會去做的。另一種可供選擇的方法是學習和應用字節碼編織框架,如AspectJ(http://eclipse.org/ajdt/)。

+0

感謝您的建議。我一直在研究AspectJ和Reflection包來完成這個工作。因爲這似乎超出了我的問題的範圍,所以也許我應該把它改寫成我認爲你可以更好地回答的問題:「如果存在擴展點,那麼在該類源代碼中就會明顯。它是如何顯而易見的?用於定義擴展點的語法或簽名是什麼? – 2011-03-02 21:07:32

+0

擴展點處理是普通的Java代碼。特別是由於處理擴展點被委託給另一個類,所以不一定要搜索特定的代碼模式。我會建議尋找頂層編輯器畫布構建的地方,並查看該例程的功能。如果它切換到某處的擴展點,則會在該例程的主體中看到它。 – 2011-03-02 22:55:32

+0

您是否考慮過提供與編輯器交互的獨立視圖,而不是嘗試修改編輯器畫布?類似於屬性和javadoc視圖(以及其他)的行爲。因爲所有必需的API都存在並且應該有樣本可供查看,所以這將變得更加容易。 – 2011-03-02 22:57:26

相關問題