【问题标题】:Eclipse RCP: How to programmatically get Problems View recordsEclipse RCP:如何以编程方式获取问题查看记录
【发布时间】:2015-03-13 02:05:15
【问题描述】:

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

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 创建任何自定义标记视图。我需要以编程方式访问现有的问题视图。感谢您的任何建议。

【问题讨论】:

    标签: java eclipse eclipse-rcp


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2012-01-26
        • 1970-01-01
        • 2012-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-10
        • 2013-03-02
        • 1970-01-01
        相关资源
        最近更新 更多