IntelliJ IDEA竟然出了可以在雲端編碼的功能?

鉑賽東發表於2021-11-15

前言

自從我用了正版的IntelliJ IDEA後,基本上都是與時俱進,出一個新版本就立馬更新,這也能能讓我體驗到最新最快的功能。

最近在閒逛Jetbrains的官網時,看到了最新的2021.3EAP版本的放出。立馬下了試試。

而令我感到興奮的是,2021.3版本竟然增加了雲端開發的一系列功能。

所謂雲端開發,就是指本地執行著一個輕客戶端。所有的程式碼儲存,程式碼編譯,程式碼執行都是在遠端。本地只是作一個展示和編輯作用。

這個時代很多東西都雲端化了,有云電腦,雲手機,雲遊戲。我一直都期待有個雲IDE,雖然我知道vscode開源了並且有相應的雲平臺。但是我說IntelliJ IDEA才是Java開發IDE的天花板,這個應該沒人反駁吧。

而這個EAP版本,就直接明示了以後IDEA既能作為本地IDE,又能作為輕客戶端連上雲端,利用雲端強大的處理力,加速你的程式碼編譯,啟動速度。

而這個雲端,隨便指定一臺伺服器,就可以自動化初始化好,極其方便。

而此篇文章,就來一探究竟:這個idea雲端是如何玩的。

安裝好2021.3 EAP版本後,在歡迎介面就多出一個Remote Development選項:

Connect via SSH,就可以看到只要通過SSH方式就可以連上一個遠端伺服器作為計算資源。和所有的SSH一樣,填入你相應必要的驗證方式,這裡我是採用RSA私鑰的驗證方式:

點選Check Connection and Continue之後,後續所有的動作,都由IDEA自動完成。包括在你的伺服器上裝上遠端的服務程式,初始化等事情。這個過程只能等一會。

這個過程我大概等了5分鐘左右。看到成功連線上遠端伺服器之後,點開Project directory就可以看到伺服器上的檔案目錄了,選擇一個作為你的工作目錄。

這時應該伺服器上的遠端進行已經開啟了,我登上了伺服器,查詢了下idea的程式,可以發現遠端伺服器上啟動著4個程式。

連上上之後進入主介面,我發現基本和本地的沒有任何區別。只是在右下角多了一個即時的上行和下行的速度指標。和一個ping值。玩過手遊的童鞋應該都知道,ping值是一個什麼概念。ping值越低,就代表延時越低。下圖可以看到,我本地和伺服器的延遲是22ms,對這個值有點概念的童鞋,應該知道這個ping值基本上是感受不到延遲的。

接下來我們就感受下遠端編譯。

我建立了一個springboot的web專案,當然建立的程式碼全部在遠端上面,本地只不過作為編輯介面。

執行mvn clean package命令,要注意的是此時並不是在本地執行maven命令,已經是在遠端了,前提是遠端伺服器已經裝了maven,並配置好了系統path。

整個過程和本地並無太大差別,執行結果耗時如下,這還是包括從中央倉庫上下載springboot相關依賴+編譯打包的時間。甚至於我都覺得比本地要來的快速。

順便說下,這裡測試時,遠端伺服器的配置是8核64G記憶體。

接下來我在demo工程上加了一個controller。直接執行這個專案。

執行很快速。配置的埠號在8989。

如果往常我們要訪問controller的話,就一定會訪問127.0.0.1:8989了,但是這個執行也是在遠端執行的。

我檢視了遠端的程式和埠號,確實伺服器上開啟了一個執行緒,埠號是8989

接下來用伺服器的公網地址進行訪問,也是毫無問題。

甚至於debug也和本地的一模一樣,毫無違和感

這基本上都可以不用在測試環境上部署了,本地直接起,相當於部署測試伺服器了。用的還不是本地資源。

別的服務呼叫過來,本地直接可以debug了。還不用開remote debug。

當然以上純屬個人說笑,測試環境部署流程還是需要的。這裡只是為了說明,這種如同本地模式的debug的確比基於配置-Xrunjdwp的remote debug好了不止一點點。

總結

整個體驗下來,可以這麼說,操作模式完全和本地一模一樣,但是計算和儲存資源卻是在遠端。而且我在體驗的過程中,基本上沒有讓我感覺到卡頓的地方,如同本地般的絲滑流暢。

有些童鞋本地配置不高的,平時開幾個IDEA視窗就開始卡的,完全就可以拿公司高效能的伺服器作為遠端。利用伺服器的高效能作為計算資源。本地開個十幾個輕客戶端應該也不會有卡頓。不用換電腦,立馬解決idea卡頓問題的神操作了。

因為這個版本只是一個EAP版本,官方文件也說了,可能在使用時中會有不穩定的異常出現。所以2021.3的正式版本,我個人還是很期待的。

可能在以後,無論是手機,還是pad,還是輕量級配置的電腦中。只要我們開啟idea的輕客戶端,連上強大的雲伺服器,無論是編譯,啟動,載入,都是異常的快。不會再出現,編譯花個20分鐘,啟動花個10分鐘這樣的事了。

我是鉑賽東,是一個開源作者和內容博主,熱愛生活和分享。如果你對我的內容感興趣,請轉發,點贊,然後關注我。

相關文章