私は Eclipse RCP アプリケーションを持っています。このアプリケーションはorg.eclipse.ui.defaultAcceleratorConfiguration
、拡張によって定義された独自のキーバインドに加えて、いくつかのバインドを使用していますorg.eclipse.ui.binding
。独自のバインディング スキームを定義し、defaultAcceleratorConfiguration をparentId
に設定してから、そのスキームをアクティブにして、plugin_customization.ini
バインディングをオーバーライドできるようにしました。
現在、私のコマンドのほとんどすべてがorg.eclipse.ui.contexts.window
コンテキストにあります。ただし、特定のパースペクティブが選択されている場合にのみ有効になるバインディングが必要です。
パースペクティブが選択またはロードされたとき (アプリケーションの起動時など) に特定のコンテキストがアクティブになり、選択が解除されたときにウィンドウ コンテキストに戻るように、現在のコンテキストを変更するにはどうすればよいですか? 他のパースペクティブへの干渉を最小限に抑えるソリューションを探しています。つまり、ワークベンチの複数のパースペクティブで使用できる必要があります。
IPerspectiveListener3
実際に機能するいくつかのトリックを行いました。パースペクティブがアクティブになるとコンテキストがアクティブになり、パースペクティブが非アクティブになるとコンテキストが非アクティブになります。ただし、ハックの少ないソリューションが存在するかどうかは疑問です。