2015-04-05 36 views
6

我聽說貨物有能力自動重新編譯已更改的源文件,但我很難弄清楚如何告訴它這樣做。如何獲得貨物自動重新編譯更改的文件?

現在,我手動運行cargo buildcargo run每次我想鍵入檢查我的代碼。我寧願只是保存文件並在鄰近的終端窗口中查看結果。

如果您仍然不知道我在說什麼,我正在尋找相當於sbt ~compilesbt ~run的貨物。

這似乎很奇怪很難找到,所以我開始懷疑它是否真的被支持。這是可能有人說貨物可能查出修改過的文件並重新編譯他們時,他的意思說的是,貨物可以檢測不變文件和避免重新編譯他們,像make

回答

2

我認爲區別在於運行cargo run兩次不會構建代碼兩次,除非輸入文件已更改。據我所知,Cargo沒有內置的功能。您可以提交功能請求。同時,我建議你只使用watch。您也可以使用guard之類的東西。使用watch更簡單,但會每N秒運行一次您的代碼。 guard將需要更多的設置,但會更有效一些。

3

似乎沒有內置任何支持,但有一個擴展(cargo-watch)使用inotify檢測更改。

當我發現它時,它不會與穩定(或當前)的鏽,但我已經修補它。 它仍然可以使用一些工作,但它肯定會加速編譯/修復錯誤循環。

3

如果您正在處理運行中的服務器項目(例如熨斗),並且需要在文件更改時重新啓動它,請參閱cargo watchdoesn't work as of writing this

在此期間,你可以像這樣安裝watchexec

cargo install watchexec 

,然後用它是這樣的:

watchexec --restart "cargo run" 
+0

謝謝:) @robinst – 2017-01-20 05:35:47

+1

@PiyushChauhan我剛剛更新了答案使用Rust中內置的工具,這使得安裝變得簡單。一探究竟 :)。 – robinst 2017-01-23 04:58:44

+0

非常需要漸進式編譯,我希望它們很快發佈 – 2017-01-23 05:03:37

相關問題