【问题标题】:Eclipse plugin development editor fontEclipse插件开发编辑器字体
【发布时间】:2017-06-08 09:06:07
【问题描述】:

我正在使用 Eclipse 3.7.0 进行插件开发,而我正在使用 Xtext 2.9.2。我的编辑器偏好设置不正常。

在 Windows 7、8、10 上会发生这种情况:

.

  • 在 64 位版本上,我无法更改编辑器字体。点击更改按钮只会将鼠标更改为忙碌/沙钟一秒钟,然后再恢复正常。

    • 在 Windows XP 上测试了相同的 64 位版本,一切正常。
  • 在 32 位版本中,一切都按预期工作,并且出现 windows 字体选择器对话框。

这就是我创建偏好页面的方式:

@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发现这行总是返回false,没有出现对话框。据我了解,这个调用应该是阻塞的,并且只会在对话框被 X、OK 或 Cancel 按钮关闭时返回,但它会立即返回 false。

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

我也尝试了像 example 这样最小的东西,但同样的事情发生了。

【问题讨论】:

  • .log 文件中的任何内容。 Eclipse 3.7 已经很老了。
  • @greg-449 是的,不幸的是它已经很老了,但我必须使用它。此问题不会导致要写入的 .log 文件发生任何崩溃。我找不到任何 .log 文件。鼠标仅更改为沙钟/忙碌指针 1 秒钟,然后当我按更改时恢复正常,没有任何反应。
  • .log 文件位于工作区 .metadata 目录中 - 在 macOS 或 Linux 上,文件和目录都隐藏。无需崩溃即可将内容写入日志。
  • 好吧,我找到了。但是,当我单击更改时,什么都没有写下来。
  • @greg-449 请检查我的编辑。

标签: java eclipse fonts xtext pde


【解决方案1】:

几个月过去了,我找出了导致问题的原因。

基本上我们有一个JNI 层,它加载一些需要MSVCR90.dlldll。这需要将MSVCR90.dll 清单嵌入到用于我们的RCPeclipse.exe 中,这是使用Microsoft Visual Studio 提供的mt.exe 完成的。

在构建时,我不小心没有嵌入 MSVCR90.dll 清单,这导致在加载 dll 时出现错误,指出缺少 MSVCR90.dll。然而,我注意到树视图样式看起来是正确的。

这也是我的另一个问题Eclipse RCP Jface/SWT TreeViewer on Windows 10 的答案。清单还影响了UI 的外观和感觉treeviewsprogressbars 看起来不像OS 提供的那些。

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 2010-11-03
    相关资源
    最近更新 更多