在 Eclipse Luna 上,我需要以编程方式构建 Java 项目,然后检索问题 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 始终为 null。
有人知道如何获取问题 View 中显示为“资源”和“路径”的数据吗?我无法使用 MarkerSupportView 创建任何自定义标记 View 。我需要以编程方式访问现有的问题 View 。感谢您的任何建议。
最佳答案
明白了。使用 getResource() 而不是 getAttribute()。
关于java - Eclipse RCP : How to programmatically get Problems View records,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29016719/