diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java index 991546fcdc77..f1162d909db6 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java @@ -26,11 +26,13 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.RangeMarker; +import com.intellij.openapi.editor.SelectionModel; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.keymap.Keymap; import com.intellij.openapi.keymap.KeymapManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; +import com.intellij.openapi.util.TextRange; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.psi.codeStyle.JavaCodeStyleManager; @@ -131,6 +133,11 @@ class VariableInplaceIntroducer extends VariableInplaceRenamer { return super.createLookupItems(lookupItems, name); } + @Override + protected TextRange preserveSelectedRange(SelectionModel selectionModel) { + return null; + } + @Override protected void moveOffsetAfter(boolean success) { try { diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java index 6607caac4fcb..5b3b39f87e27 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java @@ -32,7 +32,6 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.editor.RangeMarker; import com.intellij.openapi.editor.SelectionModel; import com.intellij.openapi.editor.colors.EditorColors; import com.intellij.openapi.editor.colors.EditorColorsManager; @@ -199,13 +198,7 @@ public class VariableInplaceRenamer { public void run() { final int offset = myEditor.getCaretModel().getOffset(); final SelectionModel selectionModel = myEditor.getSelectionModel(); - final TextRange selectedRange; - if (selectionModel.hasSelection()) { - selectedRange = new TextRange(selectionModel.getSelectionStart(), selectionModel.getSelectionEnd()); - } - else { - selectedRange = null; - } + final TextRange selectedRange = preserveSelectedRange(selectionModel); Template template = builder.buildInlineTemplate(); template.setToShortenLongNames(false); TextRange range = scope1.getTextRange(); @@ -279,6 +272,14 @@ public class VariableInplaceRenamer { return true; } + @Nullable + protected TextRange preserveSelectedRange(SelectionModel selectionModel) { + if (selectionModel.hasSelection()) { + return new TextRange(selectionModel.getSelectionStart(), selectionModel.getSelectionEnd()); + } + return null; + } + protected void moveOffsetAfter(boolean success) { }