2017-06-08 184 views
0

我使用Eclipse 3.7.0進行插件開發,並使用Xtext 2.9.2。我的編輯偏好設置無法正常工作。Eclipse插件開發編輯器字體

在窗戶7,8,10發生這種情況:

enter image description here

  • 在64位版本上,我無法更改編輯器字體。點擊更改按鈕不會做任何事情,只需將鼠標更改爲忙/秒鐘一秒鐘,然後再恢復正常。

    • 在Windows XP上測試了相同的64位版本,一切正常。
  • 在32位構建中,一切都按預期工作,窗口字體選擇器對話框出現。

enter image description here

這是我創建的首選項頁面:

@Override 
protected void createFieldEditors() { 
    // Add show font preference 
    fontField = new FontFieldEditor(JFaceResources.TEXT_FONT, EDIT_EDITOR_FONT_LABEL, getFieldEditorParent()); 
    addField(fontField); 

    fontField.setPreferenceStore(getPreferenceStore()); 

    // initialize the font preference with the default resources font if not initialized 
    String defaultFont = getPreferenceStore().getDefaultString(JFaceResources.TEXT_FONT); 
    if(defaultFont.isEmpty()) { 
    font= JFaceResources.getTextFont(); 
    if (font != null) { 
     FontData[] data= font.getFontData(); 
     if (data != null && data.length > 0) { 
      PreferenceConverter.setDefault(getPreferenceStore(), JFaceResources.TEXT_FONT, data[0]); 
     } 
    } 
    } 
} 

.log文件是空的,有沒有什麼是有益的。


調試時,我去org.eclipse.swt.widgets.FontDialog.java,發現這條線一直沒有返回對話框出現錯誤。從我所瞭解的情況來看,這個調用應該是阻塞的,並且只有當對話框通過X,OK或Cancel按鈕關閉時纔會返回,但是它會立即返回false。

/* Open the dialog */ 
boolean success = OS.ChooseFont (lpcf) 

我也嘗試作爲最小的,因爲這example和同樣的事情發生的東西。

+1

.log文件中的任何內容。 Eclipse 3.7很舊。 –

+0

@ greg-449是的,不幸的是它超級老,但我必須使用它。此問題不會導致寫入.log文件的任何崩潰。我找不到任何.log文件。當我按下Change鍵時,鼠標只會改變到sandclock/busy指針1秒鐘,然後恢復正常,並且什麼都不會發生。 –

+0

'.log'文件位於工作區的'.metadata'目錄中 - 文件和目錄都隱藏在macOS或Linux上。將事情寫入日誌不一定會發生崩潰。 –

回答

0

幾個月過去了,我找出了導致問題的原因。

基本上我們有一個JNI層,加載一些dll需要MSVCR90.dll。這要求將MSVCR90.dll清單嵌入eclipse.exe用於我們的RCP,這是使用提供的Microsoft Visual Studio完成的。

雖然建築I意外沒有嵌入MSVCR90.dll清單,但是在加載dll時發生錯誤,該錯誤表示MSVCR90.dll缺失。然而,我注意到樹視圖樣式看起來正確。

這也是我的其他問題Eclipse RCP Jface/SWT TreeViewer on Windows 10的答案。清單也影響了UI的外觀和感覺treeviewsprogressbars看起來不像OS提供的。