mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
IJ-CR-151305 [java-import] IDEA-364508 support optimize imports
- use layout table (cherry picked from commit 6862419acc2beb72f87cca6b93612f9afe81f698) GitOrigin-RevId: af86c63fa16f760ad3fd0b66fc9f86f7a21de7c7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
46bfa503aa
commit
cd9a60ab8f
@@ -10,6 +10,7 @@ import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiModifier;
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings.WrapConstant;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
@@ -171,8 +172,6 @@ public class JavaCodeStyleSettings extends CustomCodeStyleSettings implements Im
|
||||
// Imports
|
||||
public boolean LAYOUT_STATIC_IMPORTS_SEPARATELY = true;
|
||||
public boolean LAYOUT_ON_DEMAND_IMPORT_FROM_SAME_PACKAGE_FIRST = true;
|
||||
public boolean MODULE_IMPORT_FIRST = true;
|
||||
public boolean SPACE_BETWEEN_MODULE_AND_OTHER_IMPORTS = false;
|
||||
public boolean PRESERVE_MODULE_IMPORTS = true;
|
||||
public boolean USE_FQ_CLASS_NAMES;
|
||||
public boolean USE_SINGLE_CLASS_IMPORTS = true;
|
||||
@@ -298,27 +297,10 @@ public class JavaCodeStyleSettings extends CustomCodeStyleSettings implements Im
|
||||
return LAYOUT_ON_DEMAND_IMPORT_FROM_SAME_PACKAGE_FIRST;
|
||||
}
|
||||
|
||||
public boolean isModuleImportFirst() {
|
||||
return MODULE_IMPORT_FIRST;
|
||||
}
|
||||
|
||||
public boolean isSpaceBetweenModuleAndOtherImports() {
|
||||
return SPACE_BETWEEN_MODULE_AND_OTHER_IMPORTS;
|
||||
}
|
||||
|
||||
|
||||
public void setLayoutOnDemandImportFromSamePackageFirst(boolean value) {
|
||||
this.LAYOUT_ON_DEMAND_IMPORT_FROM_SAME_PACKAGE_FIRST = value;
|
||||
}
|
||||
|
||||
public void setModuleImportFirst(boolean value) {
|
||||
this.MODULE_IMPORT_FIRST = value;
|
||||
}
|
||||
|
||||
public void setSpaceBetweenModuleAndOtherImports(boolean value) {
|
||||
SPACE_BETWEEN_MODULE_AND_OTHER_IMPORTS = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNamesCountToUseImportOnDemand() {
|
||||
return NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND;
|
||||
@@ -394,6 +376,7 @@ public class JavaCodeStyleSettings extends CustomCodeStyleSettings implements Im
|
||||
private void initImportsByDefault() {
|
||||
PACKAGES_TO_USE_IMPORT_ON_DEMAND.addEntry(new PackageEntry(false, "java.awt", false));
|
||||
PACKAGES_TO_USE_IMPORT_ON_DEMAND.addEntry(new PackageEntry(false,"javax.swing", false));
|
||||
IMPORT_LAYOUT_TABLE.addEntry(PackageEntry.ALL_MODULE_IMPORTS);
|
||||
IMPORT_LAYOUT_TABLE.addEntry(PackageEntry.ALL_OTHER_IMPORTS_ENTRY);
|
||||
IMPORT_LAYOUT_TABLE.addEntry(PackageEntry.BLANK_LINE_ENTRY);
|
||||
IMPORT_LAYOUT_TABLE.addEntry(new PackageEntry(false, "javax", true));
|
||||
@@ -470,6 +453,10 @@ public class JavaCodeStyleSettings extends CustomCodeStyleSettings implements Im
|
||||
readExternalCollection(parentElement, myDoNotImportInner, DO_NOT_IMPORT_INNER, DO_NOT_IMPORT_INNER_ITEM);
|
||||
myOldVersion = myVersion = CustomCodeStyleSettingsUtils.readVersion(parentElement.getChild(getTagName()));
|
||||
myIsInitialized = true;
|
||||
PackageEntry[] entries = IMPORT_LAYOUT_TABLE.getEntries();
|
||||
if (!ContainerUtil.exists(entries, entry -> entry == PackageEntry.ALL_MODULE_IMPORTS)) {
|
||||
IMPORT_LAYOUT_TABLE.setEntryAt(PackageEntry.ALL_MODULE_IMPORTS, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user