使用 IntelliJ IDEA,如何在不打开 IDE 的情况下从项目中排除目录?

With IntelliJ IDEA, how can I exclude a directory from a project without opening the IDE?

出于我无法控制的原因,我的许多项目目录必须包含多个指向包含网络文件系统上大量文件(可能数十万)的目录的符号链接。它们与根 pom.xml.

平行

当 IntelliJ 尝试索引这些目录时,它冻结了(我希望它最终会完成)。通常我可以将这些目录标记为已排除,这样 IntelliJ 就不会为它们编制索引。但是,这些目录有时是在初始项目导入后创建的。如果 IntelliJ 在我将它们标记为已排除之前捕捉到它们,它会冻结。更糟糕的是,当我重新启动并尝试打开该项目时,它会立即再次冻结。

如何在不在 IntelliJ IDEA 中实际打开项目的情况下标记这些目录应该被排除?

您可以直接编辑项目文件以排除这些目录。为您的项目找到 .iml 文件。在 content 元素下添加 excludeFolder 元素,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
  <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
    <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_6" inherit-compiler-output="false">
      <!-- other things will be here -->
      <content url="file://$MODULE_DIR$">
        <excludeFolder url="file://$MODULE_DIR$/directoryToExclude" />
        <excludeFolder url="file://$MODULE_DIR$/target" />
      </content>
      <!-- etc -->