簡體   English   中英

Eclipse RCP - 在編輯器區域打開視圖(3.8 / e4混合)

[英]Eclipse RCP - Open a View in the Editor Area (3.8/e4 hybrid)

我正在研究3.8-e4混合(即我們有Luna依賴,但我們還沒有使用Application.e4xmi )。 所以我們基本上運行了緊湊的圖層。

話雖如此,找到一種e4編程方式將這些討厭的視圖堆疊到編輯器文件夾上會很不錯。


1.)問題

我想在編輯器區域中放置一個通用視圖文件夾,以便在那里打開在運行時打開的每個視圖。

查看編輯器文件夾


2.1)可能的修復1:使用plugin.xml

創建透視擴展,並將每個可能的視圖添加到該擴展,並將關系堆棧放在相對的org.eclipse.ui.editorss上 如果你有太多的視圖要打開,並且項目可以快速擴展,那么這有點不方便。 我還注意到通配符視圖ID在這里不起作用。

帶有透視擴展的plugin.xml的SS

如果您發現自己有時間將每個可能的視圖添加到透視圖擴展中,那就可以了。 雖然,如果您打開一個未在此處添加的視圖(即:在另一個文件夾中打開),則每個后續打開的視圖將在上一個文件夾中打開,而不是在編輯器區域中打開(如果不是,請查詢更多說明)得到它)。


2.2)可能的修復2:在透視工廠中使用代碼

IPerspectiveFactory ,我們可以訪問IPageLayout ,它恰好是org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout (e4 stuff)。

現在,這個ModeledPageLayout實現是合理的,但也沒有文檔和奇怪的公共API。 這個可以將視圖疊加在任何其他親屬上

modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);

這將是2.1的程序化版本。 此外,這里出現同樣的問題。 如果在其他地方打開視圖,則上面的代碼變得無用。

有趣的是, stackView API不支持通配符(而其他如addView則支持)。


2.3)可能的解決方案3:解決方法yaaay!

我有很多觀點,每個都有很多不同的文件夾。 一切都准確無誤。

由於Eclipse提供的API可以從系統周圍的任何地方獲取所有視圖ID,因此我希望按照透視圖執行以下操作: 未添加到特定文件夾的每個視圖ID都將附加到編輯器區域(即編輯器文件夾) ,編輯堆棧)

這將是我的最后手段,除非有人提供更方便和省時的解決方案。

請記住,e4程序化替代方案更靈活!


3.)相關問題

這些將在e4版本中棄用。


4.)Eclipse Bugzilla上的相關錯誤:

我最近打開的這個錯誤附帶了一個小型SSCCE。 此評論中描述了重現此步驟的步驟,因此我不打算將它們復制粘貼到此處。

我建議你選擇可能的修復3,因為我認為沒有更快的方法來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM