` declarations could be added as sibling Settings.
### Attributes for Parent-Child Settings EPs
There is only one unique attribute when declaring a child Settings EP.
The other attributes are the same as discussed in [](settings_guide.md#settings-declaration-attributes).
For the child of a parent, the `id` attribute becomes compound:
| Attribute | Required | Value |
|:----------|:--------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | Y | Compound FQN of implementation based on `com.intellij.openapi.options.Configurable` in the form: `XX.YY` where:
- `XX` - the parent Settings component FQN-based ID
- `YY` - unique to the child among other siblings
|
> All children share the parent's `id` as the basis of their own `id`.
> All children have an `id` suffix that is unique among their siblings.
## Implementations for Parent-Child Settings
Implementations can be based on [`Configurable`](%gh-ic%/platform/ide-core/src/com/intellij/openapi/options/Configurable.java), [`ConfigurableProvider`](%gh-ic%/platform/ide-core/src/com/intellij/openapi/options/ConfigurableProvider.java) or one of their subtypes.
For more information about creating Settings implementations, see [](settings_guide.md#implementations-for-settings-extension-points).
### Configurable Marker Interfaces
The `Configurable.Composite` interface indicates a configurable component has child components.
The preferred approach is to specify child components in the [EP declaration](#extension-points-for-parent-child-settings-relationships).
Using the `Composite` interface incurs the penalty of loading child classes while building the tree of Settings Swing components.