自定义设置组
小于 1 分钟
自定义设置组
扩展点
可以通过com.intellij.projectConfigurable 和com.intellij.applicationConfigurable 扩展点来注册扩展组
通过以下2种方式可以维护设置项之间的父子关系:
单独注册设置项,设置项之间通过一个属性的值联系在一起。
嵌套注册设置项
单独注册
<extensions defaultExtensionNs="com.intellij">
<projectConfigurable
parentId="tools"
id="com.intellij.sdk.tasks"
displayName="Tasks"
nonDefaultProject="true"
instance="com.intellij.sdk.TaskConfigurable"/>
<!--通过parentId 设置为上面的设置项id来建立父子关系-->
<projectConfigurable
parentId="com.intellij.sdk.tasks"
id="com.intellij.sdk.tasks.servers"
displayName="Servers"
nonDefaultProject="true"
instance="com.intellij.sdk.TaskRepositoriesConfigurable"/>
</extensions>
嵌套注册
<!--通过 configurable 属性来注册子设置项,可以增加多个 configurable -->
<extensions defaultExtensionNs="com.intellij">
<projectConfigurable
parentId="tools"
id="com.intellij.sdk.tasks"
displayName="Tasks"
nonDefaultProject="true"
instance="com.intellij.sdk.TaskConfigurable"/>
<configurable
id="com.intellij.sdk.tasks.servers"
displayName="Servers"
nonDefaultProject="true"
instance="com.intellij.sdk.TaskRepositoriesConfigurable"/>
</projectConfigurable>
</extensions>
注册属性描述
在上面注册的父子设置项里,id 属性是必须配置的
id 的格式由2部分构成:xx.yy
- xx :com.intellij.openapi.options.Configurable 实现类的全限定命名
- yy :用来和其它子设置项作区分
标记接口
Configurable.Composite 接口表示当前设置项是否有子设置项。不建议使用这种方式,因为会加载很多子类,建议在plugin.xml 里直接注册子设置项
Loading...