在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。谢谢你的任何建议。
答案 0 :(得分:1)
知道了。使用getResource()而不是getAttribute()。
答案 1 :(得分:0)
标记API非常灵活,您应该阅读documentation。
长话短说,还有其他你不会看的属性。尝试调用getAttributes并将它们转储出去。