vcs: select Git by default in clone dialog

com.intellij.openapi.extensions.LoadingOrder are used to achieve this behavior.
It is not guaranteed that Git will be selected by default if external plugins define order="first", but Git will be default among all JB VCS-plugins (IDEA-222144).

GitOrigin-RevId: 94c279f4a546c93ff598d2ed70e7c524996e071c
This commit is contained in:
Aleksandr Krasilnikov
2019-09-09 09:30:56 +00:00
committed by intellij-monorepo-bot
parent e70639e30d
commit e03f7fc922
2 changed files with 5 additions and 2 deletions
@@ -73,11 +73,14 @@ class RepositoryUrlCloneDialogExtension : VcsCloneDialogExtension {
}
}
val providers = CheckoutProvider.EXTENSION_POINT_NAME.extensions.sortedArrayWith(CheckoutProvider.CheckoutProviderComparator())
val providers = CheckoutProvider.EXTENSION_POINT_NAME.extensions
val selectedByDefaultProvider: CheckoutProvider? = if (providers.isNotEmpty()) providers[0] else null
providers.sortWith(CheckoutProvider.CheckoutProviderComparator())
for (checkoutProvider in providers) {
vcsComponents[checkoutProvider] = checkoutProvider.buildVcsCloneComponent(project)
comboBox.addItem(checkoutProvider)
}
comboBox.selectedItem = selectedByDefaultProvider
}
override fun getView() = mainPanel
@@ -189,7 +189,7 @@
<extensions defaultExtensionNs="com.intellij">
<search.projectOptionsTopHitProvider implementation="git4idea.config.GitOptionsTopHitProvider"/>
<vcs name="Git" vcsClass="git4idea.GitVcs" displayName="Git" administrativeAreaName=".git"/>
<checkoutProvider implementation="git4idea.checkout.GitCheckoutProvider"/>
<checkoutProvider implementation="git4idea.checkout.GitCheckoutProvider" order="first"/>
<vcs.checkoutProcessor implementation="git4idea.checkout.GitCheckoutProcessor"/>
<vcsRootChecker implementation="git4idea.roots.GitRootChecker"/>
<vcsIgnoreChecker implementation="git4idea.ignore.GitIgnoreChecker"/>