Commit 5d33345b authored by Vitaliy.Bibaev's avatar Vitaliy.Bibaev
Browse files

[stats-collector] Decide to rank completion or not to rank using user choice

parent 72c9607b
Showing with 4 additions and 21 deletions
+4 -21
......@@ -594,9 +594,6 @@ java.completion.argument.live.template.completion.description=If java.completion
java.completion.show.constructors=false
java.completion.show.constructors.description=Show separate constructors when completing constructor call, instead of a single class name
java.completion.enable.ml.ranking=false
java.completion.enable.ml.ranking.description=Enable completion elements ranking using ML model
java.completion.show.ml.ranking.diff=false
java.completion.show.ml.ranking.diff.description=If ml completion ranking is enabled, show how element position changed after ml ranking performed
......
......@@ -10,7 +10,7 @@ import com.intellij.codeInsight.lookup.LookupElementPresentation
import com.intellij.codeInsight.lookup.LookupManager
import com.intellij.codeInsight.lookup.impl.LookupImpl
import com.intellij.completion.FeatureManagerImpl
import com.intellij.ide.plugins.PluginManager
import com.intellij.completion.settings.CompletionStatsCollectorSettings
import com.intellij.lang.Language
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.util.Pair
......@@ -86,27 +86,13 @@ class MLSorter : CompletionFinalSorter() {
}
private fun shouldSortByMlRank(parameters: CompletionParameters): Boolean {
return parameters.language().isJava() && isSuitableBuild(PluginManager.BUILD_NUMBER)
val application = ApplicationManager.getApplication()
if (application.isUnitTestMode || !parameters.language().isJava()) return false
return CompletionStatsCollectorSettings.getInstance().isRankingEnabled
}
private fun Language?.isJava() = this != null && "Java".equals(displayName, ignoreCase = true)
private fun isSuitableBuild(buildNumber: String): Boolean {
val application = ApplicationManager.getApplication()
if (application.isUnitTestMode) return false
if (buildNumber.contains("-183.") && application.isEAP) {
return webServiceStatus.isExperimentOnCurrentIDE()
}
if (buildNumber.contains("-191.") || buildNumber.contains("__BUILD__") && application.isEAP) {
return Registry.`is`("java.completion.enable.ml.ranking")
}
return false
}
/**
* Null means we encountered unknown features and are unable to sort them
*/
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment