diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hints/HintUtils.kt b/platform/lang-impl/src/com/intellij/codeInsight/hints/HintUtils.kt index c84c1af87e0e..5f5e37cfcd9d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hints/HintUtils.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/hints/HintUtils.kt @@ -53,6 +53,7 @@ fun getBaseLanguagesWithProviders(): List { fun isParameterHintsEnabledForLanguage(language: Language): Boolean { if (!EditorSettingsExternalizable.getInstance().isShowParameterNameHints) return false + if (!InlayHintsSettings.instance().hintsShouldBeShown(language)) return false return ParameterNameHintsSettings.getInstance().isEnabledForLanguage(getLanguageForSettingKey(language)) } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hints/InlayHintsPass.kt b/platform/lang-impl/src/com/intellij/codeInsight/hints/InlayHintsPass.kt index 05a4fe726463..cc192ac6a414 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hints/InlayHintsPass.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/hints/InlayHintsPass.kt @@ -50,7 +50,7 @@ class InlayHintsPass( myEditor, existingHorizontalInlays, existingVerticalInlays, - settings.hintsEnabled(collector.key, collector.language) + settings.hintsShouldBeShown(collector.key, collector.language) ) } disposeOrphanInlays(existingHorizontalInlays) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/InlayHintsPanel.kt b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/InlayHintsPanel.kt index c942b5842c75..2f5542de3a57 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/InlayHintsPanel.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/InlayHintsPanel.kt @@ -3,6 +3,7 @@ package com.intellij.codeInsight.hints.settings import com.intellij.codeInsight.CodeInsightBundle import com.intellij.codeInsight.hints.InlayHintsSettings +import com.intellij.codeInsight.hints.ParameterHintsPassFactory import com.intellij.lang.Language import com.intellij.util.ui.JBUI import java.awt.BorderLayout @@ -58,6 +59,7 @@ class InlayHintsPanel(languages: Iterable, for ((index, panel) in languagePanels.withIndex()) { settings.setHintsEnabledForLanguage(panel.language, languagePanels[index].selected()) } + ParameterHintsPassFactory.forceHintsUpdateOnNextPass() } fun reset() { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/language/ParameterInlayProviderSettingsModel.kt b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/language/ParameterInlayProviderSettingsModel.kt index 4b77a09c3dd6..e55ec4652f76 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/language/ParameterInlayProviderSettingsModel.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/language/ParameterInlayProviderSettingsModel.kt @@ -49,6 +49,7 @@ class ParameterInlayProviderSettingsModel( for (state in optionStates) { state.apply() } + ParameterHintsPassFactory.forceHintsUpdateOnNextPass() } override fun isModified(): Boolean {