プログラムで設定ページを作成する必要があります。次のコードを初めてトリガーすると、すべてが期待どおりに機能します。
IPreferencePage page = new NewPreferencePage(test);
page.setTitle("First Title");
PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
PreferenceNode node = new PreferenceNode("node." + nodeName, page);
pm.addToRoot(node);
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getShell();
PreferenceDialog pd = new PreferenceDialog(shell, pm);
pd.setPreferenceStore(Activator.getDefault().getPreferenceStore());
pd.create();
pd.open();
問題は、標準モード ([ウィンドウ] -> [設定]) から設定にアクセスしようとするとエラーが発生し、作成したノードが null になることです。また、このコードを 2 回以上トリガーすると、新しいノードが作成され、前のノードが設定リストに空白行として表示されます。
これをプログラムで作成する方法を説明するチュートリアルまたは詳細な情報が誰にでもあります。私はウェブで検索し、さまざまな方法を試しましたが、成功しませんでした。
または、メニューがトリガーされたときに標準の PreferenceDialog を変更する方法を誰かが知っている場合は、別の解決策を試すことができます。
この質問は、次の質問と似ています: Eclipse: create preference page programmaticallyですが、とにかく解決できませんでした。
ありがとう