diff --git a/java/java-frontback-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java b/java/java-frontback-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java index 4b34d102d813..0b3c1a5bce96 100644 --- a/java/java-frontback-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java +++ b/java/java-frontback-impl/src/com/intellij/psi/codeStyle/JavaCodeStyleSettings.java @@ -464,7 +464,7 @@ public class JavaCodeStyleSettings extends CustomCodeStyleSettings implements Im } else { //if something is missed, restore it - if (!ContainerUtil.exists(entries, entry -> entry == PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY)) { + if (LAYOUT_STATIC_IMPORTS_SEPARATELY && !ContainerUtil.exists(entries, entry -> entry == PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY)) { if (entries[0] == PackageEntry.ALL_MODULE_IMPORTS) { IMPORT_LAYOUT_TABLE.insertEntryAt(PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY, 1); } diff --git a/java/java-tests/testData/codeStyle/withoutStaticImportWithoutModuleAndStaticNotSeparate.xml b/java/java-tests/testData/codeStyle/withoutStaticImportWithoutModuleAndStaticNotSeparate.xml new file mode 100644 index 000000000000..5114ac50f981 --- /dev/null +++ b/java/java-tests/testData/codeStyle/withoutStaticImportWithoutModuleAndStaticNotSeparate.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java b/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java index 5ddd141e4601..21d0d277c04f 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/codeStyle/JavaCodeStyleSettingsTest.java @@ -254,6 +254,23 @@ public class JavaCodeStyleSettingsTest extends CodeStyleTestCase { assertEquals(PackageEntry.ALL_OTHER_IMPORTS_ENTRY, table.getEntryAt(7)); } + public void testWithoutStaticImportWithoutModuleAndStaticNotSeparate() throws SchemeImportException { + CodeStyleSettings settings = importSettings(); + + JavaCodeStyleSettings customSettings = settings.getCustomSettings(JavaCodeStyleSettings.class); + + PackageEntryTable table = customSettings.IMPORT_LAYOUT_TABLE; + assertSize(7, table.getEntries()); + + assertEquals(PackageEntry.ALL_MODULE_IMPORTS, table.getEntryAt(0)); + assertEquals(PackageEntry.BLANK_LINE_ENTRY, table.getEntryAt(1)); + assertEquals(PackageEntry.BLANK_LINE_ENTRY, table.getEntryAt(2)); + assertEquals("javax", table.getEntryAt(3).getPackageName()); + assertEquals("java", table.getEntryAt(4).getPackageName()); + assertEquals(PackageEntry.BLANK_LINE_ENTRY, table.getEntryAt(5)); + assertEquals(PackageEntry.ALL_OTHER_IMPORTS_ENTRY, table.getEntryAt(6)); + } + public void testEmptyConfigImport() throws SchemeImportException { CodeStyleSettings settings = importSettings();