2

ユーザーが開いたドキュメントを変更したかどうかを聞く方法はありますか? (開いたり閉じたりするだけではなく、ユーザーがすでに開いているドキュメントを切り替えたときに機能するはずです)

よろしくフランク

4

3 に答える 3

1

今のところ私の解決策:

  1. 拡張ポイント org.eclipse.ui.startup を使用する StartupHandler を作成します
  2. Display.asyncExec() を介して (Eclipse が確実に開始されるように) StartupHandler で非同期呼び出しを行います。この呼び出しでは、アクティブなワークベンチ ウィンドウに IPartListener2 を実装するクラスの新しいインスタンスを追加します。

    public void earlyStartup() {
        PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
            public void run() {
                Workbench.getInstance().getActiveWorkbenchWindow().getPartService().addPartListener(new SwitchDocumentListener());
            }
        });
    }
    
  3. IPartListener2 を実装するクラスを作成します。

    public void partActivated(IWorkbenchPartReference partRef) { //何かをする }

これで、表示されたドキュメントが変更されるたびに、partActivated() メソッドが呼び出され、対応できるようになります。

于 2013-07-01T10:14:15.547 に答える
0

そう信じる。と を見たことがIResourceChangeListenerありIResourceDeltaVisitorますか?

これらはorg.eclipse.core.resourcesパッケージに入っています。

実装しIResourceChangeListenerたら、次を呼び出してリスナーとして登録できます。

ResourcesPlugin.getWorkspace().addResourceChangeListener

インスタンスをこのメソッドに渡します。

ありがとう。

于 2013-06-30T20:09:59.613 に答える