我从上一个问题(How to display an error sign on the Package when the Package has wrong information?)
中得到了很多想法但问号标记未显示。
我感兴趣的资源是一个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);
执行上面的代码。但问题标记未显示在编辑器和问题视图中。 如何正确显示问题标记?
答案 0 :(得分:2)
如果你在IResourceChangeEvent.PRE_BUILD
上添加你的标记,我可以想象问题是在构建之前,所有标记都被清除了 - 所以也许你的新标记会被立即清除,所以你甚至看不到它们。我试试IResourceChangeEvent.POST_BUILD
。
此外,您在创建标记时是否使用了正确的问题ID?因为在您的代码中,您使用的是createMarker(PROBLEM_ID)
,而不是createMarker(IMarker.PROBLEM)
。