diff --git a/java/java-impl/src/com/intellij/codeInsight/hints/JavaHintUtils.kt b/java/java-impl/src/com/intellij/codeInsight/hints/JavaHintUtils.kt index 7e86a8ccd58a..23b575125054 100644 --- a/java/java-impl/src/com/intellij/codeInsight/hints/JavaHintUtils.kt +++ b/java/java-impl/src/com/intellij/codeInsight/hints/JavaHintUtils.kt @@ -53,7 +53,7 @@ object JavaInlayHintsProvider { if (params.isEmpty()) return false if (params.size == 1) { if (isBuilderLike(callExpression, method) || isSetterNamed(method)) return false - if (!ParameterNameHintsSettings.getInstance().isShowParamNameContainedInMethodName + if (ParameterNameHintsSettings.getInstance().isDoNotShowIfMethodNameContainsParameterName && isParamNameContainedInMethodName(params[0], method)) return false } return true diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/JavaParameterNameHintsTest.kt b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/JavaParameterNameHintsTest.kt index 50fa1403fdfb..14204c695573 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/JavaParameterNameHintsTest.kt +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/JavaParameterNameHintsTest.kt @@ -759,7 +759,7 @@ class Test { } fun `test do not show hint for name contained in method`() { - ParameterNameHintsSettings.getInstance().isShowParamNameContainedInMethodName = false + ParameterNameHintsSettings.getInstance().isDoNotShowIfMethodNameContainsParameterName = true setup(""" class Test { void main() { @@ -776,7 +776,7 @@ class Test { } fun `test show if multiple params but name contained`() { - ParameterNameHintsSettings.getInstance().isShowParamNameContainedInMethodName = false + ParameterNameHintsSettings.getInstance().isDoNotShowIfMethodNameContainsParameterName = true setup(""" class Test { void main() { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsConfigurable.form b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsConfigurable.form index 2f2b64f69356..09347735b742 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsConfigurable.form +++ b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsConfigurable.form @@ -1,6 +1,6 @@
- + @@ -8,33 +8,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -42,91 +16,102 @@ - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsConfigurable.java b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsConfigurable.java index 2761ba1de45a..d9f634ff3de2 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsConfigurable.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsConfigurable.java @@ -29,6 +29,7 @@ import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.EditorTextField; +import com.intellij.ui.IdeBorderFactory; import com.intellij.ui.ListCellRendererWrapper; import com.intellij.ui.components.JBCheckBox; import com.intellij.util.containers.ContainerUtil; @@ -50,8 +51,9 @@ public class ParameterNameHintsConfigurable extends DialogWrapper { private ComboBox myCurrentLanguageCombo; private JBCheckBox myShowWhenMultipleParamsWithSameType; - private JBCheckBox myShowIfParamNameContainedInMethod; + private JBCheckBox myDoNotShowIfParameterNameContainedInMethodName; private JPanel myOptionsPanel; + private JPanel myBlacklistPanel; private final Language myInitiallySelectedLanguage; private final String myNewPreselectedItem; @@ -70,10 +72,12 @@ public class ParameterNameHintsConfigurable extends DialogWrapper { myNewPreselectedItem = newPreselectedPattern; myBlackLists = ContainerUtil.newHashMap(); - setTitle("Configure Parameter Name Hints Blacklist"); + setTitle("Configure Parameter Name Hints"); init(); myOptionsPanel.setVisible(true); + myOptionsPanel.setBorder(IdeBorderFactory.createTitledBorder("Options")); + myBlacklistPanel.setBorder(IdeBorderFactory.createTitledBorder("Blacklist")); } private void updateOkEnabled() { @@ -102,7 +106,7 @@ public class ParameterNameHintsConfigurable extends DialogWrapper { }); ParameterNameHintsSettings settings = ParameterNameHintsSettings.getInstance(); - settings.setShowParamNameContainedInMethodName(myShowIfParamNameContainedInMethod.isSelected()); + settings.setDoNotShowIfMethodNameContainsParameterName(myDoNotShowIfParameterNameContainedInMethodName.isSelected()); settings.setShowForParamsWithSameType(myShowWhenMultipleParamsWithSameType.isSelected()); } @@ -142,11 +146,11 @@ public class ParameterNameHintsConfigurable extends DialogWrapper { } }); - myShowIfParamNameContainedInMethod = new JBCheckBox(); + myDoNotShowIfParameterNameContainedInMethodName = new JBCheckBox(); myShowWhenMultipleParamsWithSameType = new JBCheckBox(); ParameterNameHintsSettings settings = ParameterNameHintsSettings.getInstance(); - myShowIfParamNameContainedInMethod.setSelected(settings.isShowParamNameContainedInMethodName()); + myDoNotShowIfParameterNameContainedInMethodName.setSelected(settings.isDoNotShowIfMethodNameContainsParameterName()); myShowWhenMultipleParamsWithSameType.setSelected(settings.isShowForParamsWithSameType()); initLanguageCombo(languages, selected); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsSettings.kt b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsSettings.kt index 1862dfcb4d29..500df6a7b7cd 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsSettings.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/hints/settings/ParameterNameHintsSettings.kt @@ -15,7 +15,7 @@ private object XmlTagHelper { val ADDED = "added" val REMOVED = "removed" val PATTERN = "pattern" - val SHOW_IF_PARAM_NAME_CONTAINED = "showIfParamNameContained" + val DO_NOT_SHOW_IF_PARAM_NAME_CONTAINED_IN_METHOD_NAME = "showIfParamNameContained" val SHOW_WHEN_MULTIPLE_PARAMS_WITH_SAME_TYPE = "showWhenMultipleParamsWithSameType" } @@ -49,7 +49,7 @@ class ParameterNameHintsSettings : PersistentStateComponent { private val myRemovedPatterns = hashMapOf>() private val myAddedPatterns = hashMapOf>() - var isShowParamNameContainedInMethodName: Boolean = false + var isDoNotShowIfMethodNameContainsParameterName: Boolean = true var isShowForParamsWithSameType: Boolean = false fun addIgnorePattern(language: Language, pattern: String) { @@ -81,8 +81,8 @@ class ParameterNameHintsSettings : PersistentStateComponent { blacklists.addLanguagePatternElements(language, patterns, XmlTagHelper.ADDED) } - root.getOrCreateChild(XmlTagHelper.SHOW_IF_PARAM_NAME_CONTAINED) - .setAttribute("value", isShowParamNameContainedInMethodName.toString()) + root.getOrCreateChild(XmlTagHelper.DO_NOT_SHOW_IF_PARAM_NAME_CONTAINED_IN_METHOD_NAME) + .setAttribute("value", isDoNotShowIfMethodNameContainsParameterName.toString()) root.getOrCreateChild(XmlTagHelper.SHOW_WHEN_MULTIPLE_PARAMS_WITH_SAME_TYPE) .setAttribute("value", isShowForParamsWithSameType.toString()) @@ -94,7 +94,7 @@ class ParameterNameHintsSettings : PersistentStateComponent { myAddedPatterns.clear() myRemovedPatterns.clear() - isShowParamNameContainedInMethodName = false + isDoNotShowIfMethodNameContainsParameterName = true isShowForParamsWithSameType = false val allBlackLists = state @@ -107,8 +107,11 @@ class ParameterNameHintsSettings : PersistentStateComponent { myRemovedPatterns[language] = blacklist.extractPatterns(XmlTagHelper.REMOVED) } - isShowParamNameContainedInMethodName = state.getBooleanValue(XmlTagHelper.SHOW_IF_PARAM_NAME_CONTAINED, true) - isShowForParamsWithSameType = state.getBooleanValue(XmlTagHelper.SHOW_WHEN_MULTIPLE_PARAMS_WITH_SAME_TYPE, false) + isDoNotShowIfMethodNameContainsParameterName = state + .getBooleanValue(XmlTagHelper.DO_NOT_SHOW_IF_PARAM_NAME_CONTAINED_IN_METHOD_NAME, true) + + isShowForParamsWithSameType = state + .getBooleanValue(XmlTagHelper.SHOW_WHEN_MULTIPLE_PARAMS_WITH_SAME_TYPE, false) } private fun Element.getBooleanValue(childName: String, defaultValue: Boolean): Boolean {