1

私は現在、Eclipseプラグインの開発に取り組んでいます。IMarkerカスタムビルダーに使用する必要があります。私はプロジェクト マーカーを作成しており、2 つの異なる状況で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 に答える