如何使VS Code组织像IntelliJ这样的Java导入

问题描述 投票:2回答:2

我正在使用VS Code进行Java开发,并与使用IntelliJ的其他开发人员合作。我想使用Organize Imports命令(Shift + Alt + O)来清理我的导入,但我不想在每次提交时都争夺导入顺序。因此,我想配置VS Code以按照与IntelliJ默认相同的顺序组织导入。有没有人有这样的配置?

如果这是不可能的,是否有工作空间配置我可以应用于VS Code和IntelliJ,以便两个IDE会同意,即使他们不同意IntelliJ的默认值?

java intellij-idea visual-studio-code
2个回答
4
投票

我们能够使它与以下配置调整几乎相同。

VS代码:

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

IntelliJ IntelliJ import order

与IntelliJ默认值的唯一区别是import javax...import java...之间的新线。


1
投票

只要该标准格式,就可以让VS Code和IntelliJ就标准格式达成一致:

  1. 将静态导入放在顶部 *
  2. 用空行分隔所有特定部分
  3. 将所有内容放在最后一个全能部分的特定部分中 *
  4. 永远不要使用通配符导入 实际上并非如此;静态导入可以使用'#'定位在VS代码中,其他所有内容都可以在qcode中使用''定位。

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>
© www.soinside.com 2019 - 2024. All rights reserved.