2013-01-31 175 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