1

我目前正在从事Eclipse插件开发。我需要使用IMarker自定义生成器。我正在创建项目标记org.eclipse.core.resources.IMarker,我正在使用IMarker.PROBLEM两种不同的情况。

如何在不删除项目资源的IMarker所有内容的情况下删除和刷新特定内容。iMarker

我在实现中尝试delete()了方法IMarker。但这并没有帮助我。而且我只找到deleteMarkers()了项目中实际删除项目资源中所有可用标记的方法。

iProject.deleteMarkers(IMarker.PROBLEM, true,
                    IProject.DEPTH_INFINITE);
iProject.refreshLocal(IProject.DEPTH_INFINITE, null);

请帮我解决这个问题,我只想IMarker在指定的情况下删除一个特定的。我无法删除单个标记。您可以指出我的任何来源或参考吗?谢谢。

4

1 回答 1

2

基本上,您可以存储或找到您的特定标记。您可以在选定资源中查找标记(不是在项目中,而是在当前资源中):

IMarker[] problems = null;
int depth = IResource.DEPTH_INFINITE;
try {
   problems = resource.findMarkers(IMarker.PROBLEM, true, depth);
} catch (CoreException e) {
   // something went wrong
}

当您拥有正确的标记时,您可以 1) 通过设置其属性来更新它,或 2) 使用 IMarker.delete() 将其删除。

此处使用的代码片段来自Mark My Words 教程

于 2012-11-20T12:52:01.487 回答