From 2d077194989ddd6c8b9f9095f5102d83905eda58 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Tue, 16 Sep 2025 14:27:57 +0200 Subject: [PATCH] [java-inspections] IDEA-379168 follow-up 1. Quotes around type in action name 2. Highlight only variable type+name but not initializer GitOrigin-RevId: 6e473eb983a5226ac3fb4fb07e573c5d395cea11 --- .../daemon/impl/quickfix/RenameUnderscoreFix.java | 8 +++++++- .../quickFix/renameUnderscore/afterCatch.java | 2 +- .../quickFix/renameUnderscore/afterForEach.java | 2 +- .../quickFix/renameUnderscore/afterLambdaParam.java | 2 +- .../quickFix/renameUnderscore/beforeCatch.java | 2 +- .../quickFix/renameUnderscore/beforeForEach.java | 2 +- .../quickFix/renameUnderscore/beforeLambdaParam.java | 2 +- java/openapi/resources/messages/JavaBundle.properties | 2 +- 8 files changed, 14 insertions(+), 8 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameUnderscoreFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameUnderscoreFix.java index 0909793f937c..a14133366973 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameUnderscoreFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameUnderscoreFix.java @@ -44,7 +44,13 @@ public final class RenameUnderscoreFix extends PsiBasedModCommandAction v.getTextRange())); + }, v -> { + PsiIdentifier identifier = v.getNameIdentifier(); + PsiTypeElement typeElement = v.getTypeElement(); + if (identifier == null) return v.getTextRange(); + if (typeElement == null) return identifier.getTextRange(); + return typeElement.getTextRange().union(identifier.getTextRange()); + })); return ModCommand.chooseAction(JavaBundle.message("intention.rename.underscore.popup.title"), actions); } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterCatch.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterCatch.java index a6676ad91d90..e8b8d8ec22fc 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterCatch.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterCatch.java @@ -1,4 +1,4 @@ -// "Rename unnamed variable|->Rename catch parameter of type NumberFormatException" "true-preview" +// "Rename unnamed variable|->Rename catch parameter of type 'NumberFormatException'" "true-preview" import java.util.function.BiConsumer; public class JavaTest { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterForEach.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterForEach.java index c195ad459c07..67ea75fbc5a6 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterForEach.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterForEach.java @@ -1,4 +1,4 @@ -// "Rename unnamed variable|->Rename 'for' loop parameter of type int" "true-preview" +// "Rename unnamed variable|->Rename 'for' loop parameter of type 'int'" "true-preview" import java.util.function.BiConsumer; public class JavaTest { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterLambdaParam.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterLambdaParam.java index 04a94f7f6d28..b5fce7a3a8d3 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterLambdaParam.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/afterLambdaParam.java @@ -1,4 +1,4 @@ -// "Rename unnamed variable|->Rename lambda parameter of type String" "true-preview" +// "Rename unnamed variable|->Rename lambda parameter of type 'String'" "true-preview" import java.util.function.BiConsumer; public class JavaTest { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeCatch.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeCatch.java index 24efdde1d492..ca35155cfa61 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeCatch.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeCatch.java @@ -1,4 +1,4 @@ -// "Rename unnamed variable|->Rename catch parameter of type NumberFormatException" "true-preview" +// "Rename unnamed variable|->Rename catch parameter of type 'NumberFormatException'" "true-preview" import java.util.function.BiConsumer; public class JavaTest { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeForEach.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeForEach.java index 8ab1645d1575..06f5df708abd 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeForEach.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeForEach.java @@ -1,4 +1,4 @@ -// "Rename unnamed variable|->Rename 'for' loop parameter of type int" "true-preview" +// "Rename unnamed variable|->Rename 'for' loop parameter of type 'int'" "true-preview" import java.util.function.BiConsumer; public class JavaTest { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeLambdaParam.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeLambdaParam.java index a833a26e5bc3..e76ba8015d55 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeLambdaParam.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/renameUnderscore/beforeLambdaParam.java @@ -1,4 +1,4 @@ -// "Rename unnamed variable|->Rename lambda parameter of type String" "true-preview" +// "Rename unnamed variable|->Rename lambda parameter of type 'String'" "true-preview" import java.util.function.BiConsumer; public class JavaTest { diff --git a/java/openapi/resources/messages/JavaBundle.properties b/java/openapi/resources/messages/JavaBundle.properties index 17e695961e66..b6d0962dbe97 100644 --- a/java/openapi/resources/messages/JavaBundle.properties +++ b/java/openapi/resources/messages/JavaBundle.properties @@ -1988,6 +1988,6 @@ preview.api.usage={0} is a preview API and may be removed in a future release preview.api.usage.reflective={0} is a reflective preview API and may be removed in a future release todo.0=todo "{0}" todo.item=todo item -intention.rename.underscore.name=Rename {0} of type {1} +intention.rename.underscore.name=Rename {0} of type ''{1}'' intention.rename.underscore.popup.title=Select Declaration intention.rename.underscore.family.name=Rename unnamed variable