私はEclipseプラグインを開発しています。初めて日食を開くとき、私は見通しを開く必要があります。これを達成する方法はありますか?一部のリスナーが利用可能である必要があると思いますが、トレースできませんでした。
日食開始後に見通しを開くことができますPlatformUI.getWorkbench().showPrespective(<prespective id>)
同様に、日食の開始時に目的の見通しが開かれるように、日食の起動時に見通しを開く方法があります。
私はEclipseプラグインを開発しています。初めて日食を開くとき、私は見通しを開く必要があります。これを達成する方法はありますか?一部のリスナーが利用可能である必要があると思いますが、トレースできませんでした。
日食開始後に見通しを開くことができますPlatformUI.getWorkbench().showPrespective(<prespective id>)
同様に、日食の開始時に目的の見通しが開かれるように、日食の起動時に見通しを開く方法があります。
org.eclipse.ui.startup
プラグインで拡張ポイントを使用できます。プラグインが有効になったら、設定を確認/設定して、パースペクティブを切り替えるかどうかを決定し、それを実行するようにスケジュールしUIJob
ます。
拡張ポイントを実装します。プラグインの一部のクラスにはimplements org.eclipse.ui.IStartup
. この場合、アクティベーター クラスは問題ありません。特に、earlyStartup
メソッドには何も必要ないためです。
メソッドで、start
切り替えてスケジュールするかどうかを決定します。
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
final boolean switchPerpective = processPluginUpgrading();
if (switchPerpective) {
final IWorkbench workbench = PlatformUI.getWorkbench();
new UIJob("Switching perspectives"){
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
try {
workbench.showPerspective(perspectiveId, workbench.getActiveWorkbenchWindow());
} catch (WorkbenchException e) {
return new Status(IStatus.ERROR,PLUGIN_ID,"Error while switching perspectives", e);
}
return Status.OK_STATUS;
}}
.run(new NullProgressMonitor());
}
}
プリファレンス ストアを使用して、意思決定ロジックのデータを保持します。この実装では、プラグインがアップグレードされるたびに、パースペクティブがワークスペースごとに 1 回切り替えられます。プリファレンス ストアに記録されたデータにより、将来のバージョンで異なるポリシーを使用できるようになります。getPreferenceStore
fromを使用するAbstractUIPlugin
ため、ワークスペースごとにスコープが設定されます。他のスコープを使用する場合は、FAQを参照してください。
private Boolean processPluginUpgrading() {
final Version version = getDefault().getBundle().getVersion();
final IPreferenceStore preferenceStore = getDefault().getPreferenceStore();
final String preferenceName = "lastVersionActivated";
final String lastVersionActivated = preferenceStore.getString(preferenceName);
final boolean upgraded =
"".equals(lastVersionActivated)
|| (version.compareTo(new Version(lastVersionActivated)) > 0);
preferenceStore.setValue(preferenceName, version.toString());
return upgraded;
}
プラグインでカスタム パースペクティブを開くために行っていることの 1 つは、config.ini
以下のように eclipe のインストール フォルダーで構成することです。
-perspective <my perspective id>
そしてそれはうまくいっています。この情報は、Lars Vogel のチュートリアルから入手しました。お役に立てれば。
他の方法:
org.eclipse.ui.IPerspectiveRegistry.setDefaultPerspective(id)
これにより、デフォルトのパースペクティブが指定された ID に設定されます。 同じための API ドキュメント。
に行く
D:\{MyTestSpace}\eclipse\features\myCustom.plugin.feature_3.1.0.201607220552
feature.xml
プラグインタグの下でIDを取得できます。
config.ini
以下で見つけることができるこのIDを使用してください
D:\{MyTestSpace}\eclipse\configuration
として
-perspective <myCustum.plugin>