IDEA-299725 Extract VCS features to VCS plugin and add applicability filter

GitOrigin-RevId: 5f8975b798d70ec15d35ead4d714ad1cc52e5230
This commit is contained in:
Konstantin Hudyakov
2022-08-24 09:28:53 +00:00
committed by intellij-monorepo-bot
parent eebf788c4c
commit acd46054ed
6 changed files with 47 additions and 14 deletions
@@ -622,16 +622,6 @@
show-in-guide="false">
<track-action id="LocalHistory.ShowHistory"/>
</feature>
<feature id="vcs.show.quick.list"
tip-file="VcsQuickList.html"
show-in-guide="false">
<track-action id="Vcs.QuickListPopupAction"/>
</feature>
<feature id="vcs.pull.requests"
tip-file="pull_requests.html"
show-in-guide="false">
<track-action id="Github.View.Pull.Request"/>
</feature>
</group>
<group id="intentions">
@@ -0,0 +1,3 @@
# suppress inspection "UnusedProperty"
vcs.show.quick.list=Show VCS quick list
vcs.pull.requests=Show pull requests
@@ -0,0 +1,17 @@
<conponent>
<group id="vcs">
<feature
id="vcs.show.quick.list"
tip-file="VcsQuickList.html"
show-in-guide="false">
<track-action id="Vcs.QuickListPopupAction"/>
</feature>
<feature
id="vcs.pull.requests"
tip-file="pull_requests.html"
show-in-guide="false">
<track-action id="Github.View.Pull.Request"/>
</feature>
</group>
</conponent>
+3
View File
@@ -83,6 +83,9 @@
<editorNotificationProvider implementation="com.intellij.dvcs.ignore.IgnoredToExcludeNotificationProvider"/>
<statistics.notificationIdsHolder implementation="com.intellij.dvcs.DvcsNotificationIdsHolder"/>
<productivityFeaturesProvider implementation="com.intellij.dvcs.featureStatistics.VcsProductivityFeaturesProvider"/>
<featureStatisticsBundle qualifiedName="messages.VcsProductivityFeatures"/>
</extensions>
</idea-plugin>
@@ -0,0 +1,24 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.dvcs.featureStatistics
import com.intellij.dvcs.repo.VcsRepositoryManager
import com.intellij.featureStatistics.ApplicabilityFilter
import com.intellij.featureStatistics.ProductivityFeaturesProvider
import com.intellij.openapi.project.Project
internal class VcsProductivityFeaturesProvider : ProductivityFeaturesProvider() {
override fun getXmlFilesUrls() = listOf("VcsProductivityFeatures.xml")
override fun getApplicabilityFilters(): Array<ApplicabilityFilter> {
return arrayOf(VcsFeaturesApplicabilityFilter())
}
}
private class VcsFeaturesApplicabilityFilter : ApplicabilityFilter {
override fun isApplicable(featureId: String, project: Project?): Boolean {
if (project == null) return false
return VcsRepositoryManager.getInstance(project).repositories.isNotEmpty()
}
override fun getPrefix() = "vcs"
}
@@ -163,10 +163,6 @@ ui.close.all.editors=Close all editor tabs
# suppress inspection "UnusedProperty"
vcs.show.local.history=Show local history of file
# suppress inspection "UnusedProperty"
vcs.show.quick.list=Show VCS quick list
# suppress inspection "UnusedProperty"
vcs.pull.requests=Show pull requests
# suppress inspection "UnusedProperty"
intentions.fix.javadoc=Fix JavaDoc
# suppress inspection "UnusedProperty"
refactoring.show.quick.list=Show Refactoring quick list