(私たちはルナの依存関係を持っている。すなわち、私たちは、私は、3.8-E4ハイブリッドに取り組んでいません使用Application.e4xmi、まだありません)。つまり、基本的にコンパクトレイヤーを実行しています。
そうは言っても、これらの厄介なビューをエディターフォルダーにスタックするe4プログラムによる方法を見つけるとよいでしょう。
1.)問題
実行時に開かれる各ビューがそこで開かれるように、エディター領域に汎用ビューフォルダーを配置したいと思います。
(この質問から盗まれた写真)
2.1)可能な修正no.1:plugin.xmlの使用
パースペクティブ拡張を作成し、関連するorg.eclipse.ui.editorss上の関係スタックを使用して、可能な各ビューをその拡張に追加します。これは、開くのにあまりにも多くのビューがある場合や、プロジェクトが急速にスケーリングする場合は、少し不便です。ワイルドカードビューIDがここでは機能しないことにも気付きました。
考えられる各ビューをパースペクティブ拡張に追加する時間を見つけたら、それでうまくいきます。ただし、ここに追加されていないビューを開くと(つまり、別のフォルダーで開く)、その後に開かれる各ビューは、エディター領域ではなく、前のフォルダーで開かれます(そうでない場合は、詳細な説明を参照してください)それを得る)。
2.2)可能な修正番号2:パースペクティブファクトリでのコードの使用
では、たまたま(e4のもの)にIPerspectiveFactory
アクセスできます。IPageLayout
org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout
現在、このModeledPageLayout
実装は合理的ですが、ドキュメントや奇妙なパブリックAPIもありません。これは他の親類の上にビューを積み重ねる可能性を与えます
modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);
これは2.1のプログラムバージョンになります。また、同じ問題がここに表示されます。ビューがどこかで開かれると、上記のコードは役に立たなくなります。
興味深いことに、stackView
APIはワイルドカードをサポートしていません(一方で、他のものはサポートしてaddView
います)。
2.3)考えられる修正その3:回避策
私は多くの視点を持ち、それぞれに多くの異なるフォルダーがあります。すべてが正確に配置されます。
EclipseはシステムのあちこちからすべてのビューIDを取得するためのAPIを提供しているので、パースペクティブごとに以下を実行したいと思います。特定のフォルダーに追加されなかった各ビューIDは、エディター領域(つまり、エディターフォルダー)に追加されます、エディタスタック)。
これは、誰かがより便利で時間を節約するソリューションを提供しない限り、私の最後の手段です。
覚えておいてください、e4プログラムによる代替はより柔軟です!
3.)関連する質問
- Eclipse RCP-Editorフォルダーでビューを開く
- Eclipse RCP-エディター領域でビューを積み重ねる?
- カスタムEclipseパースペクティブ、最初は非表示のビューがエディター領域にスタックされています
- Googleの質問、ラースの回答
これらは、e4リリースでは非推奨になります。
4.)EclipseのBugzillaに関連するバグ:
私が最近開いたこのバグには、小さなSSCCEが添付されています。これを再現する手順はこのコメントに記載されているため、ここにコピーして貼り付けることはしません。