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