java - Eclipse RCP : How to programmatically get Problems View records

标签 java eclipse eclipse-rcp

在 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/

相关文章:

java - 如何使用InterruptibleChannel?

java - 在 Android 中组合整数常量是如何工作的?

java - 无法再在 Eclipse 上运行 Maven 安装(找不到tools.jar)

Eclipse 更新失败并显示消息 "Insufficient access privileges to apply this update"

java - 如何停止在 Eclipse RCP 中打开 View 部分?

java - 如何从 ListView 中选择多个项目 - JavaFX 8

java - 在 Eclipse MAT 的 OQL : how to construct a date from a long integer? 中

java - 使用 Java 通过 FTP 上传资源文件

java - Eclipse 插件 - 如何在命令处理程序的构造函数中注入(inject) IWorkbenchWindow

multithreading - eclipse RCP : Only one Job runs at a time?