如何以编程方式更改 Eclipse 编辑器的字体(大小)?

How to change font (size) for an Eclipse editor programmatically?

如何以编程方式更改 Eclipse 编辑器的字体/字体大小?

我发现了这一点(从编辑器内部):

this.getSourceViewerDecorationSupport(getSourceViewer()).setSymbolicFontName(name);

但我不确定这是否可行。此外,我仍然无法为我的编辑器设置字体大小。

您使用 'symbolicFontName' 属性指定要在编辑器的 org.eclipse.ui.editors 扩展点声明中使用的 'symbolic font name'。

例如,这是 Java 编辑器:

<extension
     id="javaeditor"
     point="org.eclipse.ui.editors">
  <editor
        name="%CompilationUnitEditorName"
        default="true"
        icon="$nl$/icons/full/obj16/jcu_obj.png"
        contributorClass="org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditorActionContributor"
        class="org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor"
        symbolicFontName="org.eclipse.jdt.ui.editors.textfont"
        id="org.eclipse.jdt.ui.CompilationUnitEditor">
        <contentTypeBinding
           contentTypeId="org.eclipse.jdt.core.javaSource"
        /> 
  </editor>

定义符号字体名称以用作 org.eclipse.jdt.ui.editors.textfont

符号字体名称是对 org.eclipse.ui.themes 扩展点中字体定义的引用。

例如 org.eclipse.jdt.ui.editors.textfont 定义为:

<extension
     point="org.eclipse.ui.themes">
  <fontDefinition
        label="%javaEditorFontDefiniton.label"
        defaultsTo="org.eclipse.jface.textfont"
        categoryId="org.eclipse.jdt.ui.presentation"
        id="org.eclipse.jdt.ui.editors.textfont">
     <description>
        %javaEditorFontDefintion.description
     </description>
  </fontDefinition>

此定义将字体设置为默认与标准文本字体相同。

以这种方式定义的字体将出现在 'General > Appearance > Colors and Fonts'

中的 Eclipse 首选项中