将错误标记添加到SourceViewer中的特定行

时间:2015-01-08 00:57:57

标签: java eclipse-plugin

您好我想在源查看器中添加错误标记。 我使用了代码here

除了行号以外,一切正常。

final ErrorAnnotation errorAnnotation = new ErrorAnnotation(1, "Learn how to spell \"text!\"");

    // lets underline the word "texst"
    this.myAnnotationModel.addAnnotation(errorAnnotation, new Position(10, 2));

    final ErrorAnnotation errorAnnotation1 = new ErrorAnnotation(6, "Learn how to spell \"text!\"");

    // lets underline the word "texst"
    this.myAnnotationModel.addAnnotation(errorAnnotation1, new Position(34, 3));

所有错误标记仅显示在第一行。

您能否建议如何在正确的行显示错误标记。 下面是ErrorAnnotation类。 ErrorAnnotation构造函数的第一个参数是行号。但getLine()并未在任何地方使用(参见上面链接中的代码)。我不知道在哪里以及如何使用它。如果这不是在特定行中获取注释的方法,那么请您建议如何完成注释。

public class ErrorAnnotation extends Annotation {
    private final IMarker   marker;
    private String          text;
    private int             line;
    private Position        position;

    public ErrorAnnotation(final IMarker marker) {
        this.marker = marker;
    }

    public ErrorAnnotation(final int line, final String text) {
        super(ERROR_TYPE, true, null);
        this.marker = null;
        this.line = line;
        this.text = text;
    }

    public IMarker getMarker() {
        return this.marker;
    }

    public int getLine() {
        return this.line;
    }

    @Override
    public String getText() {
        return this.text;
    }

    public Image getImage() {
        return ERROR_IMAGE;
    }

    public int getLayer() {
        return 3;
    }

    @Override
    public String getType() {
        return ERROR_TYPE;
    }

    public Position getPosition() {
        return this.position;
    }

    public void setPosition(final Position position) {
        this.position = position;
    }
}

0 个答案:

没有答案