Как заставить VS Code организовать импорт Java, например, IntelliJ - PullRequest
0 голосов
/ 13 февраля 2019

Я использую VS Code для разработки Java и работаю с другими разработчиками, которые используют IntelliJ.Я бы хотел использовать команду Organize Imports (Shift + Alt + O), чтобы очистить мой импорт, но я не хочу бороться с порядком импорта при каждом коммите.Поэтому я хотел бы настроить VS Code для организации импорта в том же порядке, что и IntelliJ по умолчанию.У кого-нибудь есть конфигурация, которая могла бы сделать это?

Если это невозможно, есть ли конфигурация рабочей области, которую я могу применить как к VS Code, так и к IntelliJ, чтобы обе IDE согласились, даже если они несогласны с настройками IntelliJ по умолчанию?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Мы смогли получить почти , идентичный следующим настройкам конфигурации.

VS Код:

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

IntelliJ IntelliJ import order

Единственное отличие от значения по умолчанию для IntelliJ заключается в новой строке между import javax... и import java....

0 голосов
/ 13 февраля 2019

Можно заставить VS Code и IntelliJ договориться о стандартном формате, если этот стандартный формат:

  1. Помещает статический импорт в верхнюю часть *
  2. Разделяет все отдельные разделы пустыми строками
  3. В конце помещает все, что не находится в отдельном отдельном разделе, в общий раздел *
  4. Никогдаиспользует импорт подстановочных знаков

    • Не совсем верно;статический импорт можно позиционировать в VS Code с помощью '#', а все остальное можно позиционировать в VS Code с помощью ''.

Настройки IntelliJ по умолчанию для этого не работают, но они достаточно гибкие, чтобы их можно было перенастроить.Вот файлы, которые нужно добавить в проект , чтобы только этот проект установил согласованные правила для обеих IDE (убедитесь, что они не исключены в .gitignore).

Правило: следующеегруппы, разделенные пустыми строками: статический импорт, java.*, javax.*, все остальное.

.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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...