Eclipse插件 - 单独的编辑器和图标分配

时间:2013-08-06 15:07:42

标签: java eclipse eclipse-plugin

我已经定义了标准的TextEditor来打开 .git 文件。 (code at GitHub

   <!-- git -->
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.ui.editors.text.TextEditor"
            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
            default="true"
            extensions="gitignore,gitmodules,gitattributes"
            icon="icons/git.ico"
            id="org.eclipse.ui.DefaultTextEditor"
            name="Text Editor">
      </editor>
   </extension>

但是,无论我打开什么文件,此代码都会更改TextEditor的图标。

是自定义文本编辑器的唯一方法吗? 仅针对文件类型是否有特定的扩展点?

更新:定义自己的编辑器如下

import org.eclipse.ui.editors.text.TextEditor;

public class GitFilesEditor extends TextEditor{

让事情变得更复杂(我不想指定所有这些项目)

Multiple markers at this line
- The type org.eclipse.jface.text.source.Annotation cannot be resolved. It is indirectly referenced from required .class files
- The type org.eclipse.jface.text.revisions.RevisionInformation cannot be resolved. It is indirectly referenced from     required .class files
- The type org.eclipse.jface.text.source.ISourceViewer cannot be resolved. It is indirectly referenced from required .class files
- The type org.eclipse.jface.text.IRegion cannot be resolved. It is indirectly referenced from required .class files
- The type org.eclipse.jface.text.source.IVerticalRuler cannot be resolved. It is indirectly referenced from required .class files  

1 个答案:

答案 0 :(得分:3)

您的编辑器具有与默认文本编辑器相同的ID:

id="org.eclipse.ui.DefaultTextEditor"

这肯定会混淆Eclipse编辑器扩展查找。只需在那里使用自定义ID,例如

id="org.nodeclipse.editor.git"

我还会将名称更改为“Git Text Editor”或类似内容,以避免在编辑器首选项页面中出现重复标签。