KT-38027 Support Code Vision feature in Kotlin // experimental status

Feature received "experimental" status due to the low performance.
The root cause is slow find-usages functionality the feature is based
on. Once the later is improved Code-Vision should be revisited.

Previous commit of KT-38027 series contains production ready state.

To launch performance check again one needs to enable Code Vision in
AbstractPerformanceProjectsTest.setUp() with the following fun:

private fun enabledCodeVision() {
  val codeVisionProvider = KotlinCodeVisionProvider()
  val settings = codeVisionProvider.createSettings().apply {
     showUsages = true
     showInheritors = true
  }

  InlayHintsSettings.instance().storeSettings(codeVisionProvider.key,
   KotlinLanguage.INSTANCE, settings)
}
This commit is contained in:
Andrei Klunnyi
2020-06-04 18:25:08 +02:00
parent b08f501aac
commit a3c881da59
5 changed files with 45 additions and 62 deletions
@@ -147,6 +147,16 @@
defaultValue="true"
restartRequired="false"/>
<registryKey key="kotlin.code-vision.usages"
description="Enable Code-Vision usages search"
defaultValue="false"
restartRequired="false"/>
<registryKey key="kotlin.code-vision.inheritors"
description="Enable Code-Vision inheritors search"
defaultValue="false"
restartRequired="false"/>
<fileEditorProvider implementation="org.jetbrains.kotlin.idea.scratch.ui.KtScratchFileEditorProvider"/>
<moduleBuilder builderClass="org.jetbrains.kotlin.tools.projectWizard.wizard.NewProjectWizardModuleBuilder"/>