Disabled formatting disables also optimize imports

This commit is contained in:
Rustam Vishnyakov
2018-08-27 20:22:45 +03:00
parent 5c37bc2c5a
commit 99cdbde0ea
4 changed files with 42 additions and 0 deletions
@@ -0,0 +1,12 @@
import java.lang.String;
import java.util.List;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
}
}
@@ -0,0 +1,12 @@
import java.lang.String;
import java.util.List;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
}
}
@@ -16,12 +16,15 @@
package com.intellij.java.codeInsight.actions;
import com.intellij.JavaTestUtil;
import com.intellij.application.options.CodeStyle;
import com.intellij.codeInsight.actions.FileInEditorProcessor;
import com.intellij.codeInsight.actions.FormatChangedTextUtil;
import com.intellij.codeInsight.actions.LayoutCodeOptions;
import com.intellij.codeInsight.actions.ReformatCodeRunOptions;
import com.intellij.formatting.fileSet.NamedScopeDescriptor;
import com.intellij.openapi.editor.Document;
import com.intellij.psi.PsiFile;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase;
import static com.intellij.codeInsight.actions.TextRangeType.*;
@@ -119,4 +122,12 @@ public class ReformatCodeActionInEditorTest extends LightPlatformCodeInsightFixt
//todo actually test is not working, and working test is not working
doTest(new ReformatCodeRunOptions(SELECTED_TEXT));
}
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(new ReformatCodeRunOptions(WHOLE_FILE).setOptimizeImports(true)));
}
}
@@ -19,9 +19,12 @@
*/
package com.intellij.lang;
import com.intellij.application.options.CodeStyle;
import com.intellij.psi.PsiFile;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import org.jetbrains.annotations.NotNull;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -35,6 +38,10 @@ public class LanguageImportStatements extends LanguageExtension<ImportOptimizer>
@NotNull
public Set<ImportOptimizer> forFile(@NotNull PsiFile file) {
CodeStyleSettings settings = CodeStyle.getSettings(file);
if (settings.getExcludedFiles().contains(file)) {
return Collections.emptySet();
}
Set<ImportOptimizer> optimizers = new HashSet<>();
for (PsiFile psiFile : file.getViewProvider().getAllFiles()) {
List<ImportOptimizer> langOptimizers = allForLanguage(psiFile.getLanguage());