hereに従って、紹介ページから Eclipse でパースペクティブを開く IIntroAction を実装しました (私のアクションはほとんど同じです)。
私のものはそこに示されているものとは少し異なりますが、基本的には(URLとして)呼び出されます:
http://org.eclipse.ui.intro/runAction?class=my.plugin.actions.OpenPerspectiveAction&pluginId=my.plugin&pId=my.other.plugin.MyPerspective
pId は、開きたいパースペクティブの ID です。(そしてこれはうまくいきます!...ほとんどの場合。)
上記のリンクに記載されているように、このアクションの問題は、ウェルカム ページの下で MyPerspective が開いている場合、開かれない (または、ウェルカム ページが閉じない) ことです。
ウェルカム ページの下に開いている場合でも、アクションの呼び出し時に目的のパースペクティブを表示するにはどうすればよいですか?
私が調査した可能な解決策へのいくつかのパス(完全ではないため、何かを見落としている可能性があります):
- PerspectiveRegistry で何かをする (ただし、結果は表示されませんでした...)
- ワークベンチをチェックして、開いているパースペクティブが何であるかを確認し、そこから切り替えます
- ワークベンチをチェックして、開いているパースペクティブを確認し、それが目的のパースペクティブかどうかを確認します
これらは概念的な解決策にすぎません --- 実際に実装できるかどうかはわかりません! この問題をどのように解決できるかについて、誰かが洞察を得ることができれば幸いです。