open my plugin settings through an action in menu bar

Answered

 @Override
   public void actionPerformed(@NotNull AnActionEvent e) { 

ShowSettingsUtil.getInstance().showSettingsDialog(e.getProject(), MyConfigurable.class);

}

i am using the above code to open the setting of my plugin. This code works as it opens the settings page of my plugin but it gives this error in runtime.

 

2023-11-06 16:20:31,659 [  13891]   WARN - #c.i.o.o.n.SettingsTreeView$MyBuilder - 'AbstractTreeBuilder' is going to be dropped soon and must not be used
com.intellij.diagnostic.PluginException: 'AbstractTreeBuilder' is going to be dropped soon and must not be used
    at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
    at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:83)
    at com.intellij.ide.util.treeView.AbstractTreeBuilder.<init>(AbstractTreeBuilder.java:60)
    at com.intellij.ide.util.treeView.AbstractTreeBuilder.<init>(AbstractTreeBuilder.java:55)
    at com.intellij.ide.util.treeView.AbstractTreeBuilder.<init>(AbstractTreeBuilder.java:47)
    at com.intellij.ui.treeStructure.filtered.FilteringTreeBuilder.<init>(FilteringTreeBuilder.java:46)
    at com.intellij.openapi.options.newEditor.SettingsTreeView$MyBuilder.<init>(SettingsTreeView.java:931)
    at com.intellij.openapi.options.newEditor.SettingsTreeView.<init>(SettingsTreeView.java:174)
    at com.intellij.openapi.options.newEditor.SettingsDialog.treeViewFactory(SettingsDialog.java:89)
    at com.intellij.openapi.options.newEditor.SettingsEditor.<init>(SettingsEditor.java:194)
    at com.intellij.openapi.options.newEditor.SettingsDialog.<init>(SettingsDialog.java:65)
    at com.intellij.openapi.options.newEditor.SettingsDialogFactory.create(SettingsDialogFactory.java:38)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.getDialog(ShowSettingsUtilImpl.java:39)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:134)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:107)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:99)
    at org.samsung.aipp.aippintellij.actions.MyAction.actionPerformed(MyAction.java:31)
    at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:197)
    at com.intellij.openapi.actionSystem.impl.ActionButton.lambda$performAction$0(ActionButton.java:176)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:346)
    at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:176)

 

What should i use to implement the same?

0
6 comments

Hi,

The class mentioned in the exception contains the answer:

use com.intellij.ui.tree.AsyncTreeModel and com.intellij.ui.tree.StructureTreeModel instead.

https://github.com/JetBrains/intellij-community/blob/master/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeBuilder.java#L36

0

Hi karol thanks for the reply but i am using this “showSettingsDialog” method that is implementing Abstract Tree Builder. what should i  do now

0

As this is an internal implementation i cant directly  change in abstractTreeBuilder.  is there any option that  I can show  my plugin settings directly from action menu Karol 

0

Sorry, I didn't notice it is not your code throwing the exception.

I can't find the `FilteringTreeBuilder` class from stacktrace, so maybe you use an outdated IDE version, and this issue is fixed in a newer version. Please try to update the IDE version in your build script configuration.

0

i am using the latest intellij version - 2022.3.1

0

Hi,

This is not the latest version. The latest is 2023.2.4. The latest from 2022.3 is 2022.3.3. Try setting 2022.3.3 if you need to target 2022.3 major version.

See: https://www.jetbrains.com/idea/download/other.html

0

Please sign in to leave a comment.