簡體   English   中英

從Eclipse Juno開始,在RCP應用程序中切換透視圖?

[英]Switch perspective in a RCP application since Eclipse Juno?

在我的RCP應用程序中,我使用此代碼切換透視圖:

IWorkbenchWindow window = getViewSite().getWorkbenchWindow();
window.getWorkbench().showPerspective(PRODUCT_PERSPECTIVE_ID, window);

我沒有更改我的代碼,但我改變了我的開發環境

java 6 64bits + windows + Eclipse Indigo

java 7 32bits + windows + Eclipse Juno

現在,透視圖不再切換,沒有異常,並且在調試中沒有任何可疑內容。

我沒有找到任何錯誤報告。

有解釋嗎? 解決方法?

我也遇到過這個問題。 據我所知,這是Juno(4.2.0)的回歸。 我使用調試器逐步調用showPerspective() 在任何時候都沒有任何明確的嘗試來實際改變觀點。 也許有一個內部事件監聽器丟失,或者新框架的showPerspective()端口可能不完整。

作為解決方案,以下代碼成功地改變了我的觀點:

IWorkbenchWindow window = getViewSite().getWorkbenchWindow();
IPerspectiveRegistry registry = workbench.getPerspectiveRegistry();
IWorkbenchPage page = window.getActivePage();
page.setPerspective(registry.findPerspectiveWithId(PRODUCT_PERSPECTIVE_ID));

根據進行這些調用的上下文,您可能希望對其中一些調用進行空值保護,或者檢查Workbench.isClosing()是否安全。

這是錯誤https://bugs.eclipse.org/bugs/show_bug.cgi?id=395084並修復了Eclipse Luna,計划於6月發布。

這是一個旨在澄清和解決我的問題的答案:

使用Eclipse 4 IDE,構建在Eclipse 4之前開發的RCP應用程序,集成Java 7功能並與Windows 32位兼容。 當然能夠切換視角。

這個答案並沒有解決那些想要在RCP應用程序中切換透視圖並使用新Eclipse 4平台的功能或外觀(不要與Eclipse 4 IDE混淆)的人的問題。 但我不推薦它,至少對於一個舊的應用程序(在Eclipse 3上開發),給出:

  • 這太慢了,它使應用程序幾乎無法使用
  • 有許多圖形故障
  • 有一些錯誤,其中一個是與透視切換相關的錯誤

對於這3點,我不能說它是由於Eclipse 4平台還是Eclipse 3兼容層。 我希望專門為新的Eclipse 4平台開發的新應用程序能夠正確運行。

所以我的解決方案是定義一個Eclipse 3目標並將其用於構建。

這是完整的程序:

  1. 安裝了JDK 7(32位版本)
  2. 安裝Eclipse 3.7(32位版本)
  3. 安裝Eclipse 4(32位版本)
  4. 啟動Eclipse 4並導入所需的項目
  5. 轉到窗口/首選項/插件開發/目標平台
  6. 點擊“添加”,然后點擊“沒什么”
  7. 單擊“添加”,然后單擊“安裝”,並選擇Eclipse 3.7目錄
  8. 創建目標后,選擇它(仍在Window / Preferences / Plug-in Development / Target Platform中)

現在,在您的.product ,“Eclipse Product Export Wizard”將構建一個Eclipse 3可執行文件。

實用說明:

  • “干凈所有”是不夠的,我不得不停止/重啟Eclipse以使其在目標選擇后工作
  • 安裝過程在我的.product字段上刪除了一些。 我不得不重置ID並檢查“該產品包含原生的laucher工件”

暫無
暫無

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

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