How to define moduleConfigurable in 2020.3?
Answered
Hi,
currently I define in my plugin a moduleConfigurable (an additional Tab in Module Settings next to Sources/Paths/Dependencies/...) via module component
<module-components>
<component>
<implementation-class>
org.intellij.sonar.configuration.module.ModuleSettingsConfigurable
</implementation-class>
</component>
</module-components>
public class ModuleSettingsConfigurable implements Configurable, ModuleComponent { ... }
since module components are deprecated, I want to replace it by the moduleConfigurable extension.
But how do I do this?
In the plugin.xml I can define only:
<moduleConfigurable id="" order="" os="" />
The attributes instance and displayName cannot be defined as for the projectConfigurable:
<projectConfigurable
id="projectSettingsConfigurable"
instance="org.intellij.sonar.configuration.project.ProjectSettingsConfigurable"
displayName="SonarQube"
/>
My question is, how to replace module-component by moduleConfigurable extension properly?
Thank You!
Please sign in to leave a comment.
Please use
com.intellij.openapi.roots.ui.configuration.ModuleConfigurationEditorProvider
in extension point com.intellij.moduleConfigurationEditorProvider
in addition with corresponding moduleService to store settings. see org.jetbrains.idea.devkit.build.PluginBuildConfiguration in Devkit as sample.
It worked.
Thank you!