一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

介紹

Eclipse Theia 是開源的、可擴展的平臺,通過使用最先進的web技術開發支持多語言的雲端和桌面端IDE。目前在Github上有6k+顆星,700+次fork。貢獻者和支持者都是來自Google、IBM、SAP、RedHat、TypeFox、ERICSSON、ARDUINO等廠商。基於LSP(Language Server Protocol)構建的Theia,目前支持JavaScript、Java、Python等60多種語言。Theia,通過語言和調試服務器協議支持多種語言,同時支持雲端IDE和桌面IDE,使用Javascript的UI庫打造現代的GUI界面,它為終端用戶提供一個成熟的多語言IDE,從而打造一款類似IDE的產品平臺。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

特性

Eclipse Theia 具有以下特性:

1、雲端&桌面。不管是需要Web版還是桌面版,或者兩者都需要。使用theia,可以開發一個定製化的IDE,即可以在瀏覽器裡,也可以在本地以桌面應用程序啟動。

2、廠商中立。Theia項目是由Eclipse基金會(Eclipse Foundation)託管,該基金會是一家非盈利公司,由不同的社區開發。與其他“開源”項目不同,在開放源代碼基金會託管的項目會受到保護,不受單個廠商決策的影響。

3、可擴展。Theia以模塊化的方式設計,允許擴展者或採用者定製化和擴展它的各個方面。在package.json文件裡列出了所有需要的擴展,這樣就可以輕鬆的編寫一個個性化的IDE產品。通過實現自己的擴展來添加新功能,提供了非常好的靈活性。

試用

可以在Gitpod裡試用Theia,如下界面是工作空間,這裡可以搜索Gitpod裡的代碼庫,會顯示代碼庫的基本信息,比如:代碼庫名稱和地址、版本控制信息、最近運行時間等。點擊“open”即可打開代碼空間。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

概覽

Theia工作臺是由任意數量的打開的視圖和編輯器組成,這些視圖和編輯器可以通過拖拽的形式任意排列。下面是Theia的主界面,任意一個面板都可以自由拖拽。這個佈局和本地IDE差別不大,左側是項目列表,中間是代碼編輯區,右側是預覽區,這個佈局個人感覺還是不錯。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

搜索功能

為了提高檢索效率,Theia提供了強大的搜索功能。

代碼搜索

打開左側面板中的搜索框,輸入關鍵字後會立即顯示檢索結果並高亮顯示。搜索可以限制大小寫、完全匹配和正則表達式。搜索結果以文件分組並顯示匹配關鍵字的數量。單擊匹配行會在編輯器顯示。點擊...顯示高級搜索。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

文件搜索

快捷鍵Ctrl+P會打開文件檢索框,按文件名檢索,默認情況下,隱藏文件和ignored文件不顯示。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

類型搜索

快捷鍵Ctrl+O會打開類型檢索框,按類型名進行檢索。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

導航器搜索

當選中項目的文件導航器後,直接輸入要檢索的關鍵字,就會高亮顯示符合關鍵字的文件名。這裡有個不足是,只能在當前展開的文件中檢索。如果要搜索文件,最好使用文件搜索功能。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

文件內搜索

文件內的搜索和替換也是使用快捷鍵Ctrl+F,打開搜索和替換框,與其他工具的使用方式一樣。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

代碼補全

Theia也具體代碼智能提示的功能。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

Git集成

Theia集成了Git並提供了方便的UI界面供開發人員查看,比如作者的提交信息、Git的狀態欄、分支和標籤、變更指示、Blame Annotations、合併衝突、查看Diff以及Git的歷史記錄等。

提交信息

Git視圖自動添加到左側面板中,包括三個主要的區域,最上面是輸入commit 信息,也提個了好多基本的Git命令。下面是提交文件部分,列出了變更的文件,包含兩個部分:

Staged Changed和 Changed,下面顯示的是未暫存的文件。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

在Git視圖的下面顯示著最近提交的信息。在最下面的藍色的狀態欄顯示Git的狀態,包含:代碼庫、當前分支以及這個分支的狀態(+*!),通過點擊分支名,可以執行git checkout命令。如果當前分支有遠端分支,可以執行刷新按鈕進行同步操作。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

分支管理

可以直接在命令行面板創建或檢出分支。如下圖所示。如果新建一個分支,輸入一個分支名稱,按回車鍵即可。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

變更指示

當打開一個處於版本控制中的文件,對該文件進行修改,變更指示器會顯示變更的狀態。

紅色表示該行已經被刪除。綠色表示新增行。藍色表示修改行

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

合併衝突

Theia會識別合併衝突,並高亮顯示這些差異並提供內聯操作來接受本地或引入的變更,一旦解決了衝突,就可以準備暫存和提交這些變更。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

查看Diff

雙擊修改的文件即可打開diff查看視圖,左側編輯器是處於索引狀態,右側編輯器是工作空間的狀態。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

提交歷史

Theia裡提供了多種查看歷史的方式,可以查看單個文件的提交歷史,也可以查看當前代碼庫的提交歷史。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

Pull Request

在Gitpod裡用的是標準的Github開發流,每個任務都是以一個Github issue開始,在issue裡描述這個任務、缺陷或特性,並且記錄所有的討論和相關的提交。

要啟動一個Gitpod空間,在issue頁面,點擊“Gitpod”按鈕,會打開一個開發空間。在底部狀態欄會顯示創建的一個本地分支GH-{issue-number}.,如果打開Git視圖,在提交信息框中已經有"Fixes...."內容,這樣當這個提交合並後就會自動關閉這個Issue。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

接下來在這個分支上,可以編寫代碼,解決問題,然後就將變更作為一個pull request進行提交。在Theia裡,有Pull Request視圖,可以更改標題、描述,甚至不同的目標分支,一起準備就緒後,點擊 Create Pull Request

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

創建完後,在

Pull Request視圖會提供評審功能,可以給評審人留言,打開需要評審的文件,在代碼行左側需要添加評論的地方單擊,即可添加評論。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

這些評論會在會話視圖顯示,一旦同步到github,這些評論也會在Pull Request視圖裡顯示。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

Code Review

Gitpod基於Theia實現了Code Review的功能,當提交了PR後,會在Pull Request視圖打開PR變更文件列表,雙擊文件名稱會顯示Diff視圖,在Diff編輯器中瀏覽變更文件和審核代碼。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

還可以添加行間評論,添加的評論會在會話視圖裡顯示,點擊評論能夠定位到代碼行。

一款非常不錯的Cloud IDE,雲端IDE必將是未來的趨勢?

總結

對於開發人員來說,IDE是開發人員完成開發的場所。通過IDE能夠集成與需求管理、代碼評審、版本控制、甚至觸發CICD構建,以及構建的狀態,能夠大大的提高開發人員的效率。

DevOps的目的就是提高效率和代碼質量,IDE是一個非常好的,提高開發人員的效率和代碼質量的地方。Cloud IDE肯定是未來的趨勢,開發人員的不會再因為IDE環境的配置花費時間,也會因為IDE環境配置得不同導致開發運行出現問題。DevOps項目組可以針對Cloud IDE進行統一設置,統一控制,真正實現開發態的管控和提效。

Cloud IDE也能很好的解決代碼必須下載到本地才能開發的問題,從而解決了代碼洩露問題,對於對代碼安全要求較高的企業,這個或許是個不錯的選擇。


分享到:


相關文章: