mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
restored selection after quickfix
This commit is contained in:
+9
-1
@@ -16,7 +16,9 @@
|
||||
package com.intellij.codeInspection;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.ide.SelectInEditorManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.pom.Navigatable;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager;
|
||||
import com.intellij.psi.util.PsiTypesUtil;
|
||||
@@ -62,7 +64,13 @@ public class ReplaceWithTernaryOperatorFix implements LocalQuickFix {
|
||||
|
||||
final PsiFile file = expression.getContainingFile();
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
replaceWthConditionalExpression(project, myText + "!=null", expression, suggestDefaultValue(expression));
|
||||
PsiConditionalExpression conditionalExpression = replaceWthConditionalExpression(project, myText + "!=null", expression, suggestDefaultValue(expression));
|
||||
|
||||
PsiExpression elseExpression = conditionalExpression.getElseExpression();
|
||||
if (elseExpression != null) {
|
||||
((Navigatable)elseExpression).navigate(true);
|
||||
SelectInEditorManager.getInstance(project).selectInEditor(file.getVirtualFile(), elseExpression.getTextRange().getStartOffset(), elseExpression.getTextRange().getEndOffset(), false, true);
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+1
-1
@@ -5,6 +5,6 @@ import java.lang.Integer;
|
||||
class A{
|
||||
void test(){
|
||||
Integer integer = null;
|
||||
int i = integer != null ? integer.toString().length() : <selection>0</selection>;
|
||||
int i = integer != null ? integer.toString().length() : <caret><selection>0</selection>;
|
||||
}
|
||||
}
|
||||
+11
-7
@@ -31,10 +31,7 @@ import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx;
|
||||
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider;
|
||||
import com.intellij.openapi.fileEditor.impl.text.TextEditorPsiDataProvider;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.ActionCallback;
|
||||
import com.intellij.openapi.util.AsyncResult;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.*;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiDocumentManager;
|
||||
@@ -53,7 +50,8 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@NonNls public class TestEditorManagerImpl extends FileEditorManagerEx implements ApplicationComponent, ProjectComponent {
|
||||
@NonNls
|
||||
public class TestEditorManagerImpl extends FileEditorManagerEx implements ApplicationComponent, ProjectComponent {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.idea.test.TestEditorManagerImpl");
|
||||
|
||||
private final Project myProject;
|
||||
@@ -376,8 +374,14 @@ import java.util.Map;
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public FileEditor[] getAllEditors(){
|
||||
throw new UnsupportedOperationException();
|
||||
public FileEditor[] getAllEditors() {
|
||||
FileEditor[] result = new FileEditor[myVirtualFile2Editor.size()];
|
||||
int i = 0;
|
||||
for (Map.Entry<VirtualFile, Editor> entry : myVirtualFile2Editor.entrySet()) {
|
||||
TextEditor textEditor = TextEditorProvider.getInstance().getTextEditor(entry.getValue());
|
||||
result[i++] = textEditor;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user