Java >> Java tutorial >  >> Tag >> import

Sådan får du VS Code til at organisere Java-importer som IntelliJ

Vi var i stand til at få det næsten identisk med følgende konfigurationsjusteringer.

VS-kode:

{
  "java.completion.importOrder": [
    "",
    "javax",
    "java",
    "#"
  ]
}

IntelliJ

Den eneste forskel fra IntelliJ-standarden er en ny linje mellem import javax... og import java... .


Det er muligt at få VS Code og IntelliJ til at blive enige om et standardformat, så længe det standardformat:

  1. Placerer statisk import øverst *
  2. Adskiller alle specifikke sektioner med tomme linjer
  3. Placerer alt, der ikke er i sin egen specifikke sektion, i en opsamlingssektion til sidst *
  4. Bruger aldrig import af jokertegn

    • Ikke faktisk sandt; statiske importer kan placeres i VS-kode med '#' , og alt andet kan placeres i VS-kode med '' .

IntelliJs standardindstillinger virker ikke til dette, men det er fleksibelt nok til at blive omkonfigureret. Her er filerne, der skal tilføjes til et projekt at få netop det projekt til at opsætte konsistente regler for begge IDE'er (sørg for, at de ikke er udelukket i .gitignore ).

Regel:Følgende grupper adskilt af tomme linjer:Statisk import, java.* , javax.* , alt andet.

.vscode/settings.json:

{
    "java.completion.importOrder": ["java", "javax"],
}

.idea/codeStyles/codeStyleConfig.xml:

<component name="ProjectCodeStyleConfiguration">
  <state>
    <option name="USE_PER_PROJECT_SETTINGS" value="true" />
  </state>
</component>

.idea/codeStyles/Project.xml

<component name="ProjectCodeStyleConfiguration">
  <code_scheme name="Project" version="173">
    <JavaCodeStyleSettings>
      <option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" />
      <option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" />
      <option name="IMPORT_LAYOUT_TABLE">
        <value>
          <package name="" withSubpackages="true" static="true" />
          <emptyLine />
          <package name="java" withSubpackages="true" static="false" />
          <emptyLine />
          <package name="javax" withSubpackages="true" static="false" />
          <emptyLine />
          <package name="" withSubpackages="true" static="false" />
        </value>
      </option>
    </JavaCodeStyleSettings>
  </code_scheme>
</component>

Java tag