アプリケーションが日食製品としてカプセル化されている場合は、plugin.properties/plugin_customization.ini
ファイルを微調整できます。(製品拡張ポイントの' 'プロパティ
によって参照されるファイル。)
このファイルは、java.io.Properties形式のファイルです。通常、このファイルは、プラグインのパブリックAPIの一部として公開されるプリファレンスの値を設定するために使用されます。
(そのようなファイルの例)preferenceCustomization
org.eclipse.platform
したがって、パースペクティブの順序を表す文字列をプロパティとして参照できる場合は、そこでデフォルトの順序を定義できます。言及
のソースコード以来:IWorkbenchPreferenceConstants
/**
* Lists the extra perspectives to show in the perspective bar.
* The value is a comma-separated list of perspective ids.
* The default is the empty string.
*
* @since 3.2
*/
public static final String JavaDoc PERSPECTIVE_BAR_EXTRAS = "PERSPECTIVE_BAR_EXTRAS"; //$NON-NLS-1$
たぶんplugin_customization.ini
ファイルの行:
org.eclipse.ui/PERSPECTIVE_BAR_EXTRAS=perspectiveId1,perspectiveId2,perspectiveId3
ハードコーディングせずにその順序を指定できます。
その他の注意事項:
IPerspectiveRegistry(またはPerspectiveRegistry)は何も記述しません(特に拡張機能で定義されたパースペクティブの場合)
順序付けは、ワークベンチの状態で確認できます(ワークスペースに保存され、再度起動すると復元されます.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
) 。
次のことを確認しますか?
IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
IPerspectiveDescriptor[] perspectives = registry.getPerspectives();
plugin_customization.ini
がその順序を正しく定義している場合、正しい順序ではありませんか?
Liverpool 5-0 Aston Villaは、(コメントで)確認しますが、(順序付けられた)iniファイルエントリが内部で設定ストアに記録されることも示します。つまり、設定ストアAPIを介して取得できます。
PatformUI.getPreferenceStore().getDefault(
IWorkbenchPreferenceConstants.PERSPECTIVE_BAR_EXTRAS)
リバプール5-0アストンヴィラ次に追加:
パースペクティブレジストリ(最初の " PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives();
"ビット)は変更されません(そして順序付けられません)。
ただし、プリファレンスストアを介して「順序付けられたパースペクティブのリストに簡単にアクセス」することはできます。
したがって、他のタスクでは、パースペクティブレジストリ(まだ順序付けされていない)を反復処理する代わりに、順序付けられたパースペクティブIDのリストを格納する順序付けされた変数を使用できます。
。
。
。
。
注:別の可能性は、RCPアプリのパースペクティブスイッチャーを置き換えることです
=>から:
メニューまたはボタンで順序をより簡単に定義できます。
極端な解決策:パースペクティブスイッチャーを再実装します。
