gpt4 book ai didi

Eclipse 编辑器 : show markers on custom column of vertical ruler

转载 作者:行者123 更新时间:2023-12-04 12:42:30 26 4
gpt4 key购买 nike

我问了question before about VerticalRulers , 有了这个提示,我向 VerticalRuler 添加了第二个 Column 并尝试向它添加一个标记,但标记总是出现在标准列上,而不是我的。我添加了第二行号列来说明我的问题。我该如何改变这种行为?谢谢你的帮助。

@Override
protected IVerticalRuler createVerticalRuler(){
IVerticalRuler ruler = super.createVerticalRuler();
ruler2 = (CompositeRuler) ruler;
column1 = new AnnotationRulerColumn(100);
ruler2.addDecorator(0, column1);
ruler2.addDecorator(2, createLineNumberRulerColumn());
column1.addAnnotationType("MARKER");
return ruler;
}
public String check_line(){
IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
IFileEditorInput input = (IFileEditorInput)editor.getEditorInput() ;
IFile file = input.getFile();
IResource res = (IResource) file;
try{
IMarker m = res.createMarker(IMarker.MARKER);
m.setAttribute(IMarker.LINE_NUMBER,2);
m.setAttribute(IMarker.MESSAGE, "lala");
m.setAttribute(IMarker.TEXT, "test");
m.setAttribute(IMarker.PRIORITY, IMarker.PRIORITY_HIGH);
m.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO);
} catch (CoreException e) { ... }
return "marker created";
}

enter image description here

最佳答案

您只需要为 AnnotationRulerColumn 使用不同的构造函数:

AnnotationRulerColumn(int width, IAnnotationAccess annotationAccess) 

您可以使用 DefaultMarkerAnnotationAccess对于参数 IAnnotationAccess :
protected IVerticalRuler createVerticalRuler(){
IVerticalRuler ruler = super.createVerticalRuler();
CompositeRuler ruler2 = (CompositeRuler) ruler;
column1 = new AnnotationRulerColumn(100, new DefaultMarkerAnnotationAccess());
ruler2.addDecorator(0, column1);
ruler2.addDecorator(2, createLineNumberRulerColumn());
column1.addAnnotationType("MARKER");
return ruler;
}

我假设您已经为标记定义了一个名为“MARKER”的注释类型。
如果不是,请确保对 column1.addAnnotationType("MARKER"); 使用注释类型的名称,而不是标记类型。 .您可以定义自己的注释类型并将其映射到具有扩展点 Annotation Types 的标记类型。 .

然后您的标记/注释应该显示在您自己的垂直标尺上。

关于Eclipse 编辑器 : show markers on custom column of vertical ruler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com