2010-07-23 70 views
11

假設我有一臺服務器運行在我想開發軟件的Linux上(主要是OCaml,C/C++和Java)。如何遠程開發軟件?

有沒有辦法「遠程開發」這些東西?我的意思是一個IDE,它允許我遠程修改文件(它們隨後會在修改和保存時上傳)並通過SSH進行編譯(基本上調用makeomake)。

我一直在尋找一些讓開發者對這個過程透明化的東西,而不用關心手工做事。我習慣於使用Eclipse,所以我想知道是否有插件來實現它,或者是否有其他選擇?

請注意,它可能發生本地計算機無法構建軟件,我打算(例如OCaml),因此它應該只依靠遠程連接。

在此先感謝

+0

所以你想在本地運行IDE,修改遠程文件,並讓它建立在遠程機器上? – Greg 2010-07-23 16:35:36

+0

是的,就是這樣:) – Jack 2010-07-23 16:39:22

+0

@傑克,你解決了嗎?我有類似的問題,我想我的IDE在Windows上,我有一個虛擬機,其中包含微小的Linux裏面,我想在本地使用IDE和VM內的項目代碼,(原因:FS Windows的限制) – 2016-08-29 17:27:54

回答

1

我認爲你的答案是以IDE爲中心的。

KDE的ioslaves支持通過SFTP和SSH(使用魚,它使用上傳到遠程機器的Perl腳本)訪問。我相信Gnome也有一個支持遠程文件系統訪問的虛擬文件系統(gvfs)。

因此,我的建議是選擇一個支持虛擬文件系統的IDE,該虛擬文件系統可以在SSH/SFTP上運行,並允許您指定構建命令。然後,您只需要指定將從遠程make命令獲得其輸出的build命令(例如,vim具有可以設置爲任意命令的makeprg選項)。

2

嗯,我能想到的,雖然它是相當蠻力是隻打開一個文件共享服務器,然後直接通過Eclipse中編輯文件最簡單的想法。

如果這不適用於Java,至少可以使用Maven來完成其中的一些任務。雖然我不太確定如何調用Make。

1

取決於如何「遙控」這是;爲什麼不通過X遠程登錄並運行IDE?

+0

不,我不我不想遠程運行IDE,我想保存文件並遠程編譯它們。 – Jack 2010-07-23 16:20:43

+0

@Jack - 一個正在監視文件系統變化的自動構建過程? – AlG 2010-07-23 16:47:59

+0

它不能是自動的,就像這樣:我編輯源代碼,我保存它們,它會自動發送更新到遠程服務器,我「點擊編譯按鈕」(只是爲了給出想法),它遠程編譯它。現在我不需要任何類型的GUI響應,只需執行編譯的程序並查看輸出即可。也許我正在尋找一個ssh-wrapper :) – Jack 2010-07-24 01:32:35

0

我使用vim進行遠程開發。 (好吧,我使用vim也是非遠程的)。

1

使用構建工具(例如Hudson),你可以在你的遠程服務器上放置一個構建代理,檢查你的修改到正常的倉庫中,然後讓它做一個當您檢入更改時(可能會執行存儲庫掛鉤或輪詢更改,可能會)。你的構建過程將是一樣的,它會簡單地自動化。 :-)

+1

必須檢查代碼之前,我可以編譯和測試我的更改似乎落後於我。 – 2010-07-23 16:43:52

+0

如果你是唯一一個正在處理它的人(這似乎來自你所說的話),這不會是一個問題。你是對的,它有點落後,但是這個系統已經到位了,它可以在以後延長。 – corsiKa 2010-07-23 17:22:30

0

如果構建是問題,你有沒有想過簡單地使用一個自動化的構建系統,你承諾svn和系統,然後自動構建軟件?我聽說過很多關於這些系統的好東西,儘管我自己並沒有完全嘗試過。

至於遠程開發,SVnDAV解決方案可能是合理的。它基本上提供了您的每一次保存,並且對您正在使用的文本編輯器完全透明。然而,更好的解決方案可能只是使用網絡驅動器/目錄並遠程編輯文件。在所有基於Unix的系統上,這對開發人員和文本編輯人員都應該完全透明。

1

emacs有tramp,它允許您打開和保存遠程文件,並在遠程系統上打開一個shell。使用tramp幾乎和使用本地文件一樣,除了文件名。用'joe'在機器'bork'上打開'foo.c',我用標準的emacs命令打開它,給它一個路徑名/[email protected]:foo.c

0

你選擇的IDE將會有對「我能嗎?」的答案影響最大。如果您選擇的IDE是基於CLI的,而不是您始終可以通過SSH登錄,請啓動screen(以便您的CLI會話在SSH會話中保持不變),並且擁有它!

0

使用vim或emacs,因爲它們會爲您提供速度。我知道這些編輯有一個學習曲線,但一旦你對其中任何一個人感到舒服,您將能夠像使用Eclipse或任何其他IDE一樣對其進行處理。

0

如果你已經有一個linux服務器,那麼我會建議設置一個簡單的VPN服務器。過去我已經完成了這項工作,並且工作得很好。通過這種方式,您可以使用任何「本地」操作系統連接和修改/構建文件。我這樣做是因爲我在一天中的多個地方以及多個地點使用mac,pc和linux,所以VPN允許我遠程編輯文件,而不必通過互聯網允許文件共享。

即使你是較新的linux,也有很多關於如何實現這個的教程。我在我的Linux機器上使用了ubuntu服務器,這裏是我用過的教程。

http://www.ubuntugeek.com/howto-pptp-vpn-server-with-ubuntu-10-04-lucid-lynx.html

0

一個支持您的語言集的IDE是Nuclide。它向Atom添加了一些軟件包,並在Facebook內部完全按照您所描述的那樣在C++,Java和Ocaml中進行全面的遠程開發。