【问题标题】:How to add non-source folders to IntelliJ IDEA project如何将非源文件夹添加到 IntelliJ IDEA 项目
【发布时间】:2012-08-30 08:34:40
【问题描述】:

最近在IntelliJ中建立了一个多模块项目,结构如下:

/module1
/module2
/web-module
/sql
/lib
/a few more folders

我在 IntelliJ 中将 module1+2 和 web-module 设置为模块,所以它们会显示出来,但是如何让 sql 和 lib 文件夹显示在项目面板中?它们也应该包含在 VCS 中,但 IntelliJ 会忽略它们。如何将模块外的文件夹添加到项目中?

项目和资源管理器视图的屏幕截图:

【问题讨论】:

  • 使用模块Sources标签中的添加内容根按钮。
  • 但这是项目绑定的内容,没有适合他们的模块
  • 对于那些切换到 Eclipse 的人,只需从现有源创建您的项目,然后选择从 Eclipse 导入。它会找到一切。我之前只是创建为非日食。希望这可以帮助和我在同一条船上的人。 Eclipse 在保留正确的快捷键方面很糟糕,这让我很恼火。回到爱 IJ。

标签: intellij-idea


【解决方案1】:

这不是对问题的严格回答,但它对我有用,所以我发布了,也许有人会觉得这很有用。

如果您想将任意文件夹添加到您的项目中(即使来自与您的项目不同的位置),只需将其添加为模块即可。您不必担心类型太多,例如我需要添加一个包含一些 SQL 脚本的文件夹,我将它添加为一个 Java 模块,即使它没有 maven 结构或 Java 源代码,它在 IntelliJ 中也很明显。

这是怎么做的:

  • 文件 > 项目结构 > 模块
  • 添加 > 新模块 > ...(例如 Java 模块)
  • 在新模块设置中,将您想要查看的子文件夹标记为“来源”

瞧! :)

【讨论】:

  • 确实很有帮助! Intellij 在这件事上相当混乱。
  • 正是我想要的,谢谢
  • 似乎只有在模块只有 java 源文件时才有效。
  • @sdm 在撰写上述帖子时,它肯定适用于非 java 文件(如我的案例 SQL 中所述)。事实上,我刚刚在 Intellij Community Edition 2017.3.4 中尝试过这种方法,它仍然对我有用。
  • 是的,我认为这个问题有点微妙。如果我想添加一个包含一些java代码的随机文件夹,它将只选择包含java源代码的文件夹作为源文件夹。
【解决方案2】:

这是我从现有模块创建项目时通常会看到的内容。所有模块都将显示在项目中,但不显示其他与项目相关的目录。这些目录可能是配置文件、环境脚本或不完全适合 Intellij 模块类型的 SQL 脚本包。

为了显示其余的项目源文件和目录,我从项目根目录创建了一个父模块。

文件->项目结构->模块

  1. 使用 + 号创建一个新模块。新模块可以是任何类型(我使用 java)。
  2. 下一步 屏幕上,将 Content rootModule file location 设置为项目的根文件夹。
  3. 选择完成

您的所有其他模块现在应该是根的子模块,并且您的其他项目文件现在应该显示出来。

【讨论】:

    【解决方案3】:

    添加和删除内容根

    添加新的内容根目录:

    1. 转到文件 |项目结构,或按 Ctrl+Shift+Alt+S。
    2. 选择项目设置部分下的模块。
    3. 选择必要的模块,然后打开对话框右侧的“源”选项卡。
    4. 点击添加内容根目录。
    5. 指定要添加为新内容根目录的文件夹,然后单击“确定”。

    来源:https://www.jetbrains.com/help/idea/creating-and-managing-modules.html

    【讨论】:

      【解决方案4】:

      我用File -> New -> Module from Existing Sources...

      然后我只需选择文件夹并添加它。

      【讨论】:

        【解决方案5】:

        在项目视图模式下,所有目录(设置中忽略的目录除外)都应显示。当然,你的多项目的基础文件夹必须是 module1 上面的文件夹。

        编辑:

        您的项目应如下所示(项目视图树):

        MY_PROJECT_ROOT (~/the/folder/to/your/project)
             |- /module1
             |- /module2
             |- /web-module
        

        在这种情况下,您绝对应该看到其他文件夹。我在其中设置了一个示例项目。

        编辑 2:

        从您的屏幕截图中,我假设您缺少根目录(项目根目录与您的预期不同)。我添加了另一个屏幕截图。您的 3 个模块应该有一个根文件夹。您的屏幕截图中缺少这个。您有 3 个单独的文件夹,没有共同的根文件夹。在 MacOs 上,项目根目录显示在窗口标题中。就我而言,它指向~/devel/sandbox。 我想您应该尝试在该 trunk 文件夹中创建一个新项目。从头开始。然后添加现有的模块,你应该没事吧?!

        【讨论】:

        • 他们确实没有出现。单个文件显示在模块文件夹之外,即项目根目录中的属性文件。所以我认为应该正确设置项目根目录。我应该在我的项目根目录中有一些项目文件,还是 .idea 文件夹就足够了?
        • .idea 文件夹替换了旧的项目文件(.ipr、.ipw)。每个模块中都应该有 .iml 文件。而已。您能否从您的 IDE 和该项目根目录的文件系统中添加屏幕截图?
        • @mana,如果我理解正确的话,如果我想要一个包含三个模块的项目根目录,我是否真的需要四个模块(一个与项目根目录具有相同根目录的“根”模块和它下面的三个模块)?我创建了一个项目,在项目根目录下创建了三个模块,在项目根目录下我看不到任何其他文件夹。只有当我创建了一个与项目根目录相同的根模块时,我才能看到其他文件夹。
        猜你喜欢
        • 1970-01-01
        • 2018-12-05
        • 1970-01-01
        • 1970-01-01
        • 2014-04-30
        • 1970-01-01
        • 1970-01-01
        • 2017-02-22
        • 1970-01-01
        相关资源
        最近更新 更多