像在eclipse中一样在intellij想法中关闭未使用的模块

Posted

技术标签:

【中文标题】像在eclipse中一样在intellij想法中关闭未使用的模块【英文标题】:Closing unused modules in intellij idea like in eclipse 【发布时间】:2014-04-26 23:53:22 【问题描述】:

据我所知,目前在 intellij idea 中没有任何功能可以做到这一点。我不知道为什么,但他们不支持这样做,至少这是我在所有研究中发现的结果。也许我们中的一些人用不同的方式处理这个问题。您如何在 intellij 中使用多个模块?在处理多个项目时我应该如何提高性能?

【问题讨论】:

当然你只是想要'右键单击模块' --> '删除模块' 【参考方案1】:

像在eclipse中一样关闭intellij idea中未使用的模块?

您可以将该模块目录设置为从该项目中排除。

右击目录,然后转到Mark Directory As -> 然后点击Excluded

要重新添加模块,请单击Project Structure 按钮,然后转到Modules 部分,然后您可以重新添加它们

【讨论】:

我看到了,谢谢,这是我的最后一个问题,所以我们可以假设这等同于 eclipse 的关闭打开项目过程吗? @MustafaGüven,我从未使用过 Eclipse。所以,不知道日食行为。接受答案;) 我们需要确定它是否等效:/ 非常适合 maven 项目。排除的模块被正确地绕过并从 maven 存储库中获取。如果您只想修改几个模块,那么对于大型项目来说,速度要快得多。 这在从 maven 构建时运行良好,但 IDE 仍然将其他模块中依赖于排除模块的类标记为红色错误。【参考方案2】:

Offline Module 插件可让您禁用或启用项目中的模块,而无需删除。

在项目视图的上下文菜单中单击Disable Module,它会禁用选定的模块。禁用的模块显示在一个组中,可以通过Load Module 添加回来。

【讨论】:

这正是 OP 要求的(也是我想要的)!感谢您的链接。【参考方案3】:

在 Intellij 2017.2 中,您可以轻松加载/卸载模块或模块组:

    在“项目”视图中单击鼠标右键 选择“加载/卸载模块” 选择要加载/卸载的模块并单击“确定”按钮

警告:这是一个“实验性”功能

参考:jetbrains site

【讨论】:

效果很好,这应该是 IntelliJ 2017.2 的公认答案! 我无法让它工作;依赖于已卸载模块的模块无法编译。预期的行为(如在 Eclipse 中)是从 maven repo 获取卸载的模块并编译。【参考方案4】:

Projects in Eclipse are Modules in IntelliJ。我不建议以相同的方式使用它们——即将不相关的项目作为模块导入到一个 IntelliJ 项目中。

例如将数据库项目和应用程序项目导入一个是可以的,或者在处理一个项目时意味着在另一个项目上工作。 但是当您将太多项目导入一个时,您将遇到搜索和“转到文件/类”操作的问题,并且您将使用过多的堆空间。

一般来说,当你打开的项目很多的时候,会出现三个问题

使用的堆过多 -> GC 暂停。 很难在它们之间切换 关闭和重新打开很多项目很难

为了解决这个问题,我制作了Frame Switcher plugin,以便更轻松地在项目之间切换并重新打开已关闭的项目。 另外,当你有 32 位 Windows 并且项目太多时,你需要启动新的 IntelliJ 实例,Frame Switcher 可以集成它们。

还有Missing Functionality plugin 可以让你“关闭所有其他项目”。

【讨论】:

【参考方案5】:

由于旧的“离线模块”不起作用,我制作了一个插件来利用“标记为排除”的机制来快速显示/隐藏多个模块。

链接到此处的模块:https://plugins.jetbrains.com/plugin/7803?pr=idea

【讨论】:

这个我已经安装了,但是如何使用呢?

以上是关于像在eclipse中一样在intellij想法中关闭未使用的模块的主要内容,如果未能解决你的问题,请参考以下文章

我如何在 Intellij Idea 中找到构建变体,就像在 Android Studio 中一样?

如何像在 Eclipse 中一样在 IntelliJ 中创建可运行的 JAR

如何像在 Eclipse 中一样在 IntelliJ 中创建可运行的 JAR

在 IntelliJ IDEA 中更改 Ctrl+Shift+Left/Right 的行为,就像在 Eclipse 中一样

SpriteKit:你如何突出场景的一部分,就像在教程中一样?

Java开发者薪资最低?程序员只能干到30岁?国外真的没有996?Intellij真的比Eclips