ユーザーが開いたドキュメントを変更したかどうかを聞く方法はありますか? (開いたり閉じたりするだけではなく、ユーザーがすでに開いているドキュメントを切り替えたときに機能するはずです)
よろしくフランク
今のところ私の解決策:
Display.asyncExec() を介して (Eclipse が確実に開始されるように) StartupHandler で非同期呼び出しを行います。この呼び出しでは、アクティブなワークベンチ ウィンドウに IPartListener2 を実装するクラスの新しいインスタンスを追加します。
public void earlyStartup() {
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
public void run() {
Workbench.getInstance().getActiveWorkbenchWindow().getPartService().addPartListener(new SwitchDocumentListener());
}
});
}
IPartListener2 を実装するクラスを作成します。
public void partActivated(IWorkbenchPartReference partRef) { //何かをする }
これで、表示されたドキュメントが変更されるたびに、partActivated() メソッドが呼び出され、対応できるようになります。
そう信じる。と を見たことがIResourceChangeListener
ありIResourceDeltaVisitor
ますか?
これらはorg.eclipse.core.resources
パッケージに入っています。
実装しIResourceChangeListener
たら、次を呼び出してリスナーとして登録できます。
ResourcesPlugin.getWorkspace().addResourceChangeListener
インスタンスをこのメソッドに渡します。
ありがとう。