settings_guide.md: rework table

This commit is contained in:
Yann Cébron 2023-08-08 14:16:20 +02:00
parent 7ad3c74ab5
commit bf29d09a91

View File

@ -80,23 +80,26 @@ This section provides some additional clarification of those comments.
The attributes supported by `com.intellij.applicationConfigurable` EP and `com.intellij.projectConfigurable` EP are in the table below: The attributes supported by `com.intellij.applicationConfigurable` EP and `com.intellij.projectConfigurable` EP are in the table below:
| Attribute | <p>Implementation</p><p>Basis</p> | Required&ensp;&ensp; | <p>Attribute</p><p>Value</p> | | Attribute | <p>Implementation</p><p>Basis</p> | Required | <p>Attribute</p><p>Value</p> |
|:--------------------|:---------------------------------------------------|:--------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |---------------------|----------------------------------------------------|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `instance` | `Configurable` | (1) | FQN of implementation. See [](#the-configurable-interface) for more information. | | `instance` | `Configurable` | Y [(1)](#attribute-notes) | FQN of implementation. See [](#the-configurable-interface) for more information. |
| `provider` | `ConfigurableProvider` | (1) | FQN of implementation. See [](#the-configurableprovider-class) for more information. | | `provider` | `ConfigurableProvider` | Y [(1)](#attribute-notes) | FQN of implementation. See [](#the-configurableprovider-class) for more information. |
| `nonDefaultProject` | `Configurable` | Y | <p>Applicable _only_ to the `com.intellij.projectConfigurable` (project Settings) EP.</p><p>`true` = show Settings for all projects _except_ the [default project](https://www.jetbrains.com/help/idea/configure-project-settings.html#new-default-settings).</p><p>`false` = show Settings for all projects.</p> | | `nonDefaultProject` | `Configurable` | Y | <p>Applicable _only_ to the `com.intellij.projectConfigurable` (project Settings) EP.</p><p>`true` = show Settings for all projects _except_ the [default project](https://www.jetbrains.com/help/idea/configure-project-settings.html#new-default-settings).</p><p>`false` = show Settings for all projects.</p> |
| `displayName` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | (2) | <p>The non-localized Settings name visible to users, which is needed for the Settings dialog left-side menu.</p><p>For a _localized_ visible name omit `displayName` and use the `key` and `bundle` attributes.</p> | | `displayName` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | Y [(2)](#attribute-notes) | <p>The non-localized Settings name visible to users, which is needed for the Settings dialog left-side menu.</p><p>For a _localized_ visible name omit `displayName` and use the `key` and `bundle` attributes.</p> |
| `key` and `bundle` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | (2) | <p>The [localization](localization_guide.md) key and bundle for the Settings name visible to users.</p><p>For non-localized visible names omit `key` and `bundle` and use `displayName`.</p> | | `key` and `bundle` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | Y [(2)](#attribute-notes) | <p>The [localization](localization_guide.md) key and bundle for the Settings name visible to users.</p><p>For non-localized visible names omit `key` and `bundle` and use `displayName`.</p> |
| `id` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | Y | <p>The unique, FQN identifier for this implementation.</p><p>The FQN should be based on the plugin `id` to ensure uniqueness.</p> | | `id` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | Y | <p>The unique, FQN identifier for this implementation.</p><p>The FQN should be based on the plugin `id` to ensure uniqueness.</p> |
| `parentId` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | Y | <p>This attribute is used to create a hierarchy of Settings. This component is declared one of the specified `parentId` component's children. Typically used for placing a Settings panel within the Settings Dialog menu. Acceptable values for `parentId` are given in [](#values-for-parent-id-attribute).</p><p>`groupId` is deprecated.(3)</p> | | `parentId` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | Y | <p>This attribute is used to create a hierarchy of Settings. This component is declared one of the specified `parentId` component's children. Typically used for placing a Settings panel within the Settings Dialog menu. Acceptable values for `parentId` are given in [](#values-for-parent-id-attribute).</p><p>`groupId` is deprecated. [(3)](#attribute-notes)</p> |
| `groupWeight` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | N | <p>Specifies the weight (stacking order) of this component within the group of a parent configurable component. The default weight is 0, meaning lowest in the order.</p><p>If one child in a group or a parent component has non-zero weight, all children will be sorted descending by their weight. If the weights are equal, the components will be sorted ascending by their display name.</p> | | `groupWeight` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | N | <p>Specifies the weight (stacking order) of this component within the group of a parent configurable component. The default weight is 0, meaning lowest in the order.</p><p>If one child in a group or a parent component has non-zero weight, all children will be sorted descending by their weight. If the weights are equal, the components will be sorted ascending by their display name.</p> |
| `dynamic` | `Configurable.Composite` | N | <p>This component's children are dynamically calculated by calling the `getConfigurables()` method.</p><p>Not recommended because it requires loading additional classes while building a Settings tree. If possible, use XML attributes instead.</p> | | `dynamic` | `Configurable.Composite` | N | <p>This component's children are dynamically calculated by calling the `getConfigurables()` method.</p><p>Not recommended because it requires loading additional classes while building a Settings tree. If possible, use XML attributes instead.</p> |
| `childrenEPName` | `Configurable` | N | Specifies the FQN name of the Extension Point that will be used to calculate the children of this component. | | `childrenEPName` | `Configurable` | N | Specifies the FQN name of the Extension Point that will be used to calculate the children of this component. |
**Attribute Notes:** ##### Attribute Notes
1) Either `instance` or `provider` must be specified depending on the implementation.
2) One of these attribute sets must be specified depending on whether the displayed Settings name is localized. (1) Either `instance` or `provider` must be specified depending on the implementation.
3) If both `groupId` and `parentId` are specified, a warning is logged. Also, see _default_ entry in [](#values-for-parent-id-attribute).
(2) One of these attribute sets must be specified depending on whether the displayed Settings name is localized.
(3) If both `groupId` and `parentId` are specified, a warning is logged. Also, see _default_ entry in [](#values-for-parent-id-attribute).
#### Values for Parent ID Attribute #### Values for Parent ID Attribute