2013-01-31 57 views
16

早在十二月,我从Eclipse切换到IntelliJ,但在几天之内我切换回来了。Intellij“让项目自动化”的困境

今天我再次尝试IntelliJ,基本上我只剩下一个问题。

问题是我想在保存时编译Java类。原因是我使用JRebel,它会选择新的类。 我不想每次都点击Command-F9编译改变的类。

我看了一下EclipseModel插件,但这似乎不工作(再)为能在插件的网页上的评论阅读:http://plugins.jetbrains.com/plugin/?id=3822

我也“自动生成项目”试过,但这个编译所有类,而不仅仅是改变的类。这只是没有更多的时间消耗,这也将导致JRebel重新加载所有类别...

有什么建议吗?

+1

除了安东的回答检查[我的回答(http://stackoverflow.com/a/12744437/104891)解释为什么自动编译被禁用时,有一个运行路线组态。另见论坛中的[开发者解释](http://devnet.jetbrains.com/message/5473042)。 – CrazyCoder

回答

17

我最终创建了一个保存并生成构建的宏。 然后,我将Ctrl + S快捷键分配给这个宏,然后工作正常。

+11

如何,请给出详细信息:) –

+7

@AamirAfridi你需要记录一个宏的两个行动(文件 - >全部保存和生成 - >制作项目)作为解释这里https://www.jetbrains。com/idea/help/recording-macros.html,然后您需要为此宏指定CTRL + S键盘快捷键,如下所示:https://www.jetbrains.com/idea/help/binding-macros-with-键盘快捷键.html(当提示冲突只是按“删除”按钮取消分配Ctrl + S快捷键从以前的行动) – bitek

+0

@MnemonicFlow哈哈你回答后2年。是的,我明白了。感谢:) –

4

如果您只是将按键从Ctrl + F9重新映射到Ctrl + S会怎样?基本上,您只需跟上按Ctrl + S的习惯,因为您在Eclipse中这样做 - 只需按下IntelliJ中的不同键即可。IntelliJ 12的确带有编译项目的进程外编译器类自动,但它似乎是不可预知的 - 你可能刷新页面,并且类尚未编译。因此,在JRebel的情况下,不幸的是,进程外编译是无用的。

+0

我试过这个,但它不起作用。只要我将Ctrl + S键盘映射添加到Make Project,Ctrl + S就不再执行任何操作,甚至不保存文件本身。当我删除键盘映射时,Ctrl + S至少可以再次保存。 –

+0

我做了一些进一步的测试,Ctrl + S似乎可以保存,但不适用于Make项目。 IntelliJ支持多个动作(Save All + Make Project)有1个快捷键(Ctrl + S)吗? –

+1

通常我不会在IntelliJ中使用Ctrl + S,它会自动为我保存文件。一个选项也可以创建一个拦截Save操作的简单插件(http://arhipov.blogspot.com/2011/04/code-snippet-intercepting-on-save.html)并调用该compier。但总的来说,我发现试图将来自Eclipse的习惯应用于新环境并没有什么意义 - 只需要几天的时间就可以习惯于按Ctrl + F9而不是Ctrl + S。过了一会儿,你会完全没有按Ctrl + S –

2

这可能不是正是你想要的,但通常我离开自动保存上,当我需要编译当前类的我的工作,我只是做Ctrl + Shift + F9.

+0

Ctrl + F9 => [制作项目] Ctrl + Shift + F9 => [编译选定的文件,包或模块] 请参阅https://resources.jetbrains.com/storage/products/intellij-idea/文档/ IntelliJIDEA_ReferenceCard.pdf – kouretinho

-1

我的IntelliJ IDEA的版本是2017.3 .4,我修改了一些值,以便自动编译。

Settings

Registry