プログラムでワーキング セットを選択する機能を実現したいと考えています。以下のコードで試しました:
IWorkingSetManager wsMgr = PlatformUI.getWorkbench().getWorkingSetManager();
IWorkingSet ws = wsMgr.getWorkingSet("custom");
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IWorkingSet[] windowset = new IWorkingSet[]{ws};
page.setWorkingSets(windowset);
しかし、上記のコードは機能せず、Project Explorer にワーキング セットが表示されません。
上記のコードが機能しないのはなぜですか? また、上記の解決策は何ですか?
ProjectExplorerビューをワーキングセットで更新するために、以下のコードを試しました
IWorkingSetManager wsMgr = PlatformUI.getWorkbench().getWorkingSetManager();
IWorkingSet ws = wsMgr.getWorkingSet("custom");
ProjectExplorer pView = (ProjectExplorer)page.findView(IPageLayout.ID_PROJECT_EXPLORER); pView.getCommonViewer().setInput(ws);
上記のコードは、ワーキング セットの内容を ProjectExplorer に表示しますが、それは保持されません。つまり、Eclipse を再起動すると、ワーキング セットではなく、すべてのプロジェクトが表示されます。