【问题标题】:IntelliJ IDEA "Make project automatically" woesIntelliJ IDEA“自动制作项目”的困境
【发布时间】:2013-01-16 03:12:58
【问题描述】:

早在 12 月,我就从 Eclipse 切换到了 IntelliJ IDEA,但几天后我又切换回来了。今天又试了 IntelliJ,基本上只剩下一个问题了。

问题是我想在保存时编译 Java 类。原因是我正在使用 JRebel 来学习新课程。我不想每次都按 +F9 来编译更改的类。

我阅读了有关 EclipseModel 插件的信息,但这似乎(不再)可以在插件页面上的 cmets 中阅读:http://plugins.jetbrains.com/plugin/?id=3822

我还尝试了“自动生成项目”,但这会编译所有类,而不仅仅是更改后的类。这不仅不会更耗时,还会导致 JRebel 重新加载所有类。

有什么建议吗?

【问题讨论】:

标签: java eclipse intellij-idea jrebel


【解决方案1】:

我最终创建了一个执行保存和生成构建的宏。 然后我为这个宏分配了 Ctrl+S 快捷键,然后它就可以正常工作了。

【讨论】:

  • 如何,请提供详细信息:)
  • @AamirAfridi 您需要为两个操作(文件 -> 全部保存并构建 -> 制作项目)录制一个宏,如此处jetbrains.com/idea/help/recording-macros.html 所述,然后您需要分配 CTRL + S 键盘该宏的快捷方式,如下所述:jetbrains.com/idea/help/…(当提示冲突时,只需按“删除”按钮即可从上一个操作中取消分配 CTRL + S 快捷方式)
  • @MnemonicFlow 哈哈,您在 2 年后回复。是的,我想通了。谢谢:)
【解决方案2】:

如果您只是将键从 Ctrl+F9 重新映射到 Ctrl+S 会怎样?基本上,您只需保持按 Ctrl+S 的习惯,因为您在 Eclipse 中这样做 - 只需在 IntelliJ 中按不同的键即可。

IntelliJ IDEA 12 确实带有进程外编译器,它会自动编译项目类,但这似乎是不可预测的——您可能刷新页面并且该类尚未编译。因此,不幸的是,在使用 JRebel 的场景中,进程外编译是没有用的。

【讨论】:

  • 我试过这个,但它不起作用。一旦我将 Ctrl+S 键映射添加到 Make Project,Ctrl+S 就不再做任何事情,甚至不保存文件本身。当我删除键盘映射时,Ctrl+S 至少可以再次保存。
  • 我做了一些进一步的测试,Ctrl+S 似乎可以用于保存,但不适用于 Make Project。 IntelliJ 是否支持为多个操作(全部保存 + 生成项目)使用 1 个快捷方式 (Ctrl+S)?
  • 通常我不会在 IntelliJ 中使用 Ctrl+S - 它会自动为我保存文件。一种选择还可以是创建一个简单的插件来拦截 Save 操作 (arhipov.blogspot.com/2011/04/…) 并调用编译器。但总的来说,我发现尝试将来自 Eclipse 的习惯应用到新环境并没有真正的意义——你只需要几天时间就可以习惯按 Ctrl+F9 而不是 Ctrl+S。一段时间后,你会在没有 Ctrl+S 的情况下完全正常
【解决方案3】:

这可能不是你想要的,但通常我会打开自动保存,当我需要编译我正在处理的当前类时,我只需执行Ctrl + Shift + F9.

【讨论】:

【解决方案4】:

我的 IntelliJ IDEA 版本是 2017.3.4,我修改了一些值让它自动编译。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    相关资源
    最近更新 更多