如何根据行号在编辑器中为特定行设置标记或背景颜色?

时间:2012-04-23 08:42:14

标签: java eclipse eclipse-plugin

  

嗨,我正在做一个eclipse插件项目来创建像eclipse这样的IDE   对于特定的语言。

     

当我在IDE中编写的程序出错时,它会抛出   我在IDE中创建的控制台视图的错误。但是当   用户点击特定的,我应该突出显示或设置标记   有错误的行。

     

我知道有错误的行号。我该如何设置背景   颜色或标记,以指示用户该行具有   选择错误?

     

我如何在java中执行此操作?

     

有人可以帮我这么做吗?

1 个答案:

答案 0 :(得分:1)

您应该使用MarkerUtilities.createMarker(IResource, Map, String)这样的内容:

Map<String, Object> map = new HashMap<String, Object>();

map.put(IMarker.MESSAGE, "My message");
map.put(IMarker.LINE_NUMBER, Integer.valueOf(myLine));
map.put(IMarker.CHAR_START, Integer.valueOf(myStartRegion));
map.put(IMarker.CHAR_END, Integer.valueOf(myEndRegion));
map.put(IMarker.SEVERITY, Integer.valueOf(IMarker.SEVERITY_INFO));
map.put(IMarker.PRIORITY, Integer.valueOf(IMarker.PRIORITY_NORMAL));

org.eclipse.ui.texteditor.MarkerUtilities.createMarker(myFile, map, MARKER_ID);

使用MARKER_ID匹配plugin.xml中“markerType”的描述

查看扩展点

  • org.eclipse.ui.editors.annotationTypes
  • org.eclipse.ui.editors.markerAnnotationSpecification
  • org.eclipse.core.resources.markers

您可以在this plugin.xml中找到错误标记的示例。寻找对标记的引用。标记的设计在plugin.xml中定义