-class VcsGeneralSettingsConfigurable(val project: Project)
- : BoundSearchableConfigurable(message("configurable.VcsGeneralConfigurationConfigurable.display.name"),
- "project.propVCSSupport.Confirmation"), NoScroll, Configurable.WithEpDependencies {
- override fun getDependencies() = listOf(VcsEP.EP_NAME)
+internal class GeneralVcSettingsProviderEP(project: Project) : ConfigurableEP<UnnamedConfigurable>(project)
+
+private val VCS_SETTINGS_EP_NAME = ExtensionPointName<GeneralVcSettingsProviderEP>("com.intellij.generalVcsSettingsExtension")
+
+class VcsGeneralSettingsConfigurable(val project: Project) : BoundCompositeConfigurable<UnnamedConfigurable>(
+ message("configurable.VcsGeneralConfigurationConfigurable.display.name"),
+ "project.propVCSSupport.Confirmation"
+), NoScroll, Configurable.WithEpDependencies {
+
+ override fun createConfigurables(): List<UnnamedConfigurable> =
+ VCS_SETTINGS_EP_NAME.getExtensions(project).mapNotNull { it.createConfigurable() }
+
+ override fun getDependencies() = listOf(VcsEP.EP_NAME, VCS_SETTINGS_EP_NAME)