3

我从上一个问题中得到了很多想法(当包裹有错误信息时,如何在包裹上显示错误标志?

但不显示问题标记。

我感兴趣的资源是一个 XML 文件。

因此,我使用以下代码为 PRE_BUILD 添加了一个侦听器:

addResourceChangedListener(xxx, IResourceChangeEvent.PRE_BUILD)

它工作正常。现在我正在尝试添加一个问题标记。

IMarker marker = file.createMarker(PROBLEM_ID);
marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
marker.setAttribute(IMarker.MESSAGE, "Error Message");
marker.setAttribute(IMarker.CHAR_START, 5);
marker.setAttribute(IMarker.CHAR_END, 6);
marker.setAttribute(IMarker.LINE_NUMBER, 5);

上面的代码被执行。但问题标记不会显示在编辑器和问题视图上。如何正确显示问题标记?

4

1 回答 1

2

如果您在上面添加标记,IResourceChangeEvent.PRE_BUILD我可以想象问题是在构建之前,所有标记都被清除 - 所以您的新标记可能会立即被清除,所以您甚至看不到它们。我会试试看IResourceChangeEvent.POST_BUILD

另外,您在创建标记时是否使用了正确的问题 ID?因为在您使用的代码中createMarker(PROBLEM_ID),不是createMarker(IMarker.PROBLEM).

于 2010-07-08T15:03:12.637 回答