簡體   English   中英

如何使VS Code組織IntelliJ之類的Java導入

[英]How to make VS Code organize Java imports like IntelliJ

我正在使用VS Code進行Java開發,並與其他使用IntelliJ的開發人員一起工作。 我想使用“組織導入”命令(Shift + Alt + O)清理導入,但是我不想在每次提交時都對導入順序進行爭執。 因此,我想配置VS Code以與IntelliJ的默認順序相同的順序組織導入。 是否有人可以進行配置?

如果無法做到這一點,那么是否存在我可以同時應用於VS Code和IntelliJ的工作空間配置,以便即使在IntelliJ的默認設置不一致的情況下,兩個IDE也會達成共識?

我們能夠得到它幾乎與下面的配置調整相同。

VS代碼:

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

的IntelliJ IntelliJ導入順序

與IntelliJ默認值的唯一區別是import javax...import java...之間的新行。

可以使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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM