eclipse插件开发-新增简单编辑器

eclipse中同一时间只有一个编辑器可见,但是可以打开同一编辑器的多个实例。

编辑器一般分为两种类型:文本编辑器和图形编辑器。

编辑器常用功能有:打开文件、保存文件、编辑文件、撤销、重做。

 

下面介绍下一个简单的编辑器插件的开发步骤。

1. 新建一个空的插件工程,工程名com.page.demo.editor

 

 

 

2. 打开MANIFEST.MF文件,切换到Extensions选项卡,在其中加入org.eclipse.ui.editors扩展点

 

3. 修改plugin.xml

<plugin>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="com.page.demo.editor.SimpleEditor"
            default="false"
            extensions="hello"
            icon="icons/sample.png"
            id="com.page.demo.editor.simpleEditor"
            name="Simple Editor">
      </editor>
   </extension>

</plugin>

id:编辑器的标识,用户可根据该标识在代码中访问

name:编辑器名称

extensions:编辑器对应的扩展名,当打开对应扩展名的文件时,就会打开相应的编辑器

class:编辑器的实现类,用户打开编辑器时,会调用此类初始化并维护编辑器

icon:编辑器显示的图标

 

4. 编辑实现类SimpleEditor,需继承EditorPart

package com.page.demo.editor;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;

public class SimpleEditor extends EditorPart {

    @Override
    public void doSave(IProgressMonitor monitor) {
        
    }

    @Override
    public void doSaveAs() {
        
    }

    @Override
    public void init(IEditorSite site, IEditorInput input) throws PartInitException {
        setSite(site);
        setInput(input);
        setPartName("Hello, simple editor!");
    }

    @Override
    public boolean isDirty() {
        return false;
    }

    @Override
    public boolean isSaveAsAllowed() {
        return false;
    }

    @Override
    public void createPartControl(Composite parent) {
        Label label = new Label(parent, SWT.LEFT);
        label.setText("Nice day!");
    }

    @Override
    public void setFocus() {
        
    }

}

5. 右键项目,Run as-Eclipse Application。此时会打开一个新的eclipse实例,在其中新建一个java工程,新建一个hello后缀的文件,打开,即可看到编辑器打开了

 

 

源码路径:https://gitee.com/pageone/eclipse-plugin

 

posted @ 2022-03-07 19:52  到三国卖栗子  阅读(361)  评论(0编辑  收藏  举报