這是我如何操作,也許它可以幫助你。如果有一個配置設置,我似乎已經掩蓋了,只是問,我會解決這個問題。但總而言之,這是非常成功的:
我的構建環境隱藏在Linux發行版上,但我的開發環境共同位於Mac桌面(當我在工作時)和Mac Air(當我在家裏)。我的項目非常龐大,合同上我無法將代碼移動到任何可以訪問的機器上,只要我的筆記本電腦被盜了。所以我幾乎必須使用ssh(和sshfs)來完成任何事情。
當我在家時,我坐下來工作,我手動啓動VPN - 因爲有太多的變化,我會假設你知道如何做到這一點。
我打開一個終端,並調用:
caffeinate &
因爲每當計算機進入屏幕保護程序,我討厭連接斷開。這可能是你爲什麼斷開連接?每當我開發時我都會打開這個終端。我也使用tmux,以便我的終端會話可以在計算機之間共享。無論如何...
我在服務器和客戶端之間建立了一個掛載點。我有我的時候掛載點下降運行的腳本(自定義自己的工作):
umount -f /Volumes/$MOUNTDIR/
umount -f /Users/$HOMEUSER/$MOUNTDIR
mkdir /Users/$HOMEUSER/$MOUNTDIR
sshfs [email protected]@SERVERADDR:/usr/$HOMEUSER/$MOUNTDIR /Users/$HOMEUSER/$MOUNTDIR
然後我啓動Webstorm,PyCharm,ADS的IntelliJ(我是一個Jetbrains的風扇)。
此時您可以打開$ MOUNTDIR中的目錄並開始工作。如果你發現你需要運行構建,這裏有一個提示 - 不要在本地構建。而是使用SSH在服務器上發出構建命令(或運行腳本)。構建運行後的同步開銷很可能遠小於獲取和編寫構建的所有步驟。
我只發現我斷開連接,如果我失去了VPN。每當電腦進入睡眠狀態時,我都會斷開連接。咖啡因固定的。
對於合理大小的項目,這可能是您所需要的。所以接下來是一個優化 - 只有當你遇到困難時才這樣做:
爲了加快加載時間,我所做的是創建一個不屬於掛載的本地項目。在作爲項目打開的第一個目錄的底部,有一個.IDEA目錄被創建並寫入很多目錄。這個目錄裏面有很多文件被寫入很多,根據你的網絡速度,這可能會導致悲傷。這確實意味着無論你走到哪裏,都必須維護一些設置,但在我的情況下,爲了獲得巨大的性能收益,要付出很小的代價。
所以,因爲我這樣做,我將不得不手動添加目錄到我的項目(在首選項/目錄下)。但是如果你使用巨大的API,你可能會這樣做。我小心地標記我不需要引用的目錄作爲'排除',以使索引器上的生活更輕鬆。我與其他數千名員工共享目錄結構,並確保這些流不會交叉。
現在我有很多數以千計的文件,確實同步可能很慢。但是,只有當您離開應用程序並重新啓動時纔會觸發同步。並且,只要您擁有合理的互聯網連接,說實話,並不那麼糟糕。
我希望這會有所幫助。一旦我開始使用它作爲我的工作流程,我就再也沒有回去。
我記得幾年前讀到SSHFS不應該依賴作爲一個實際的文件系統,因爲某些更改不會立即傳播......但現在我無法找到我讀的地方。這是不幸的,因爲我想到的頁面有一些調整,可以使它更好地運行。既然是幾年前,也許文件系統本身已經有所改進,所以這些調整是沒有必要的;但恐怕這對你仍然沒有幫助。 – echristopherson
你有沒有找到解決這個問題的方法? –