Don't optimize imports if formatting is disabled

This commit is contained in:
Rustam Vishnyakov
2018-09-08 20:15:00 +03:00
parent 29b088469e
commit 84a2b25d62
4 changed files with 30 additions and 1 deletions
@@ -103,7 +103,7 @@ public class JavaCodeStyleManagerImpl extends JavaCodeStyleManager {
@Override
public void optimizeImports(@NotNull PsiFile file) throws IncorrectOperationException {
CheckUtil.checkWritable(file);
if (file instanceof PsiJavaFile) {
if (file instanceof PsiJavaFile && CodeStyle.isFormattingEnabled(file)) {
PsiImportList newList = prepareOptimizeImportsResult((PsiJavaFile)file);
if (newList != null) {
final PsiImportList importList = ((PsiJavaFile)file).getImportList();
@@ -0,0 +1,9 @@
import java.util.Date;
import java.util.ArrayList;
import java.util.List;
public class Main {
public List<String> foo(){
return new ArrayList<>();
}
}
@@ -0,0 +1,9 @@
import java.util.Date;
import java.util.ArrayList;
import java.util.List;
public class Main {
public List<String> foo(){
return new ArrayList<>();
}
}
@@ -15,7 +15,10 @@
*/
package com.intellij.java.psi;
import com.intellij.application.options.CodeStyle;
import com.intellij.formatting.fileSet.NamedScopeDescriptor;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.psi.codeStyle.CodeStyleSettings;
public class OptimizeImportsTest extends OptimizeImportsTestCase {
private static final String BASE_PATH = PathManagerEx.getTestDataPath() + "/psi/optimizeImports";
@@ -61,6 +64,14 @@ public class OptimizeImportsTest extends OptimizeImportsTestCase {
doTest();
}
public void testDisabledFormatting() {
CodeStyleSettings temp = new CodeStyleSettings();
NamedScopeDescriptor descriptor = new NamedScopeDescriptor("Test");
descriptor.setPattern("file:*.java");
temp.getExcludedFiles().addDescriptor(descriptor);
CodeStyle.doWithTemporarySettings(getProject(), temp, () -> doTest());
}
private void doTest() {
doTest(".java");
}