2014-10-07 28 views
0

如何將純E4Editor關聯到文件結尾? 我創建了一個包含一些插件的特性,其中實現了編輯器。我通過p2 updatesite安裝我的功能,將我的功能提供給傳統的E4應用程序。 我在哪裏可以定義我的編輯器的文件關聯。我可以在我的fragment.xmi或編程定義這個嗎?將文件擴展名與純E4Editor關聯

在此先感謝, 塞巴斯蒂安。

+0

「純e4編輯器」是什麼意思? e4只有部分不是編輯器和視圖。 – 2014-10-07 11:59:14

+0

是的,你是對的。我的意思是e4部分。 – Seb 2014-10-07 13:21:01

+0

這個「傳統e4應用程序」 - e4沒有任何文件關聯 - 你是指使用3.x兼容性代碼的Eclipse 4應用程序嗎?如果你這樣做,你將不得不編寫一個傳統的編輯器部分。 – 2014-10-07 13:26:18

回答

0

作爲一個純粹的E4應用程序不包含任何的編輯器功能的註釋中規定由Eclipse RCP的3.提供所以,如果你想一個文件擴展名與編輯聯繫起來,你首先要引進文件類型和編輯器的概念!

雖然它不是真的很難在E4自己實現這些功能。而湯姆辛德爾在他稱之爲The Simple e4 IDE的演示中做到了這一點。你可以找到源代碼right here

基本上,假設你已經實現了一個導航器(也湯姆的演示!),你會被帶入編輯的概念開始。在e4中,編輯器只是可以保存的標準e4部分。您可能可以使用e4提供的@Persist註釋!

現在你的編輯有一定的文件類型,你不得不提供的擴展機制相關聯。 Tom創建了一個新的EditPartDescriptor,它允許您直接在應用程序模型中註冊一個具有特定文件擴展名的編輯器。如果您對此更熟悉,您也可以使用簡單的Eclipse擴展點,就像我以前所做的那樣。

既然您已經找到了一種方法來連接編輯器和一個或多個文件擴展名,您只需要一種方法來打開這些編輯器,最好使用e4 Command和關聯的Handler

湯姆簡單的放在simpleide/navigator/internal/ResourceNavigator.java這個邏輯,相關的代碼是線180至200.他只是遍歷所有註冊的EditorPartDescriptors檢查文件名和一個ParameterizedCommand的火災。雖然我會建議使用ISelectionService來選擇一個文件,並確定並打開Handler中的正確編輯器,或者甚至是單獨的服務。


希望我已經提供了足夠的信息,讓您開始實施所需的功能。看看簡單的e4 IDE演示,我已經設法在我自己的應用程序中實現類似的功能。這也是一般瞭解e4的好方法!

我很樂意爲您提供我自己的實現的例子或指向您在湯姆的代碼正確的方向,因爲我已經變得相當熟悉它,由於我自己的企業。但是,由於我們是否在談論e4或3.x兼容性代碼有點混亂,我現在就放棄這一點。

P.S.一旦我擁有足夠的聲譽,我還會添加更多有關文檔的鏈接。

相關問題