0

Eclipse プラグインは、リソース変更リスナーを使用して、リソースへの変更を通知できます。

プロジェクトが削除されると、リソース変更リスナーに通知され、IResourceChangeEvent が渡されます。以下のコードを使用すると、イベントのタイプを取得できます。

    @Override
public void resourceChanged(IResourceChangeEvent event) {
    switch (event.getType()) {
    case IResourceChangeEvent.PRE_DELETE:
        // do something
        break;
    }
}

ただし、プロジェクトが Eclipse で削除されている場合、ユーザーはプロジェクトをファイル システムから削除するか、ワークスペースからのみ削除するかを選択できます。

リソース変更リスナーでこの 2 つのケースを区別する方法はありますか?

編集:私がやろうとしていることは次のとおりです.2つのプロジェクトAとBがあり、BはAに依存しています.Aが削除されると、Bも削除されます. Aがファイルシステムから削除されたら、Bもファイルシステムから削除してほしい。

4

1 に答える 1

0

これには理由があります。Eclipse プラグインは、ワークスペース リソースのみを使用し、認識している必要があります。アーキテクチャの観点からは、ワークスペースの外には何もありません。Eclipse プラグインが (エクスポート/インポート タスク以外に) ファイルで何かを実行している場合、それは通常間違っています。

したがって、プラグインでは、IResources が削除された場合、基になるファイルが削除されたかどうかは問題ではありません。

于 2013-04-11T05:34:06.350 に答える