Eclipse RCP:如何以编程方式获取问题查看记录

时间:2015-03-12 17:43:54

标签: java eclipse eclipse-rcp

在Eclipse Luna上,我需要以编程方式构建java项目,然后检索Problems View的记录。我使用以下代码

IWorkspace workspace = ResourcesPlugin.getWorkspace();
IResource resource = workspace.getRoot();
IMarker[] markers = resource.findMarkers(IMarker.MARKER, true, IResource.DEPTH_INFINITE);
for (IMarker m : markers) {
    System.out.println("Id: " + m.getId());
    System.out.println("Message: " + m.getAttribute(IMarker.MESSAGE));
    System.out.println("Source ID: " + m.getAttribute(IMarker.SOURCE_ID));
    System.out.println("Location: " + m.getAttribute(IMarker.LOCATION));
    System.out.println("Line Number: " + m.getAttribute(IMarker.LINE_NUMBER));
    System.out.println("Marker: " + m.getAttribute(IMarker.MARKER));
}

正确打印消息和行号。但IMarker.SOURCE_ID返回“JDT”,IMarker.LOCATION始终为空。

有人知道如何在问题视图中将数据显示为“资源”和“路径”?我无法使用MarkerSupportView创建任何自定义标记视图。我需要以编程方式访问现有的Problems View。谢谢你的任何建议。

2 个答案:

答案 0 :(得分:1)

知道了。使用getResource()而不是getAttribute()。

答案 1 :(得分:0)

标记API非常灵活,您应该阅读documentation

长话短说,还有其他你不会看的属性。尝试调用getAttributes并将它们转储出去。