可擴展基於Web技術的開發多語言云端IDE和桌面IDE——Theia

2019-10-04     最美分享Coder

介紹

Theia(全名Eclipse Theia)是一個可擴展的平台,用於使用最新的Web技術開發多語言的雲端和桌面的 IDE。目前雲端IDE可能是未來編程的趨勢,而Theia提供了兩種方式雲端(即客戶端通過瀏覽器打開IDE)和桌面端!其介面類似於VSCode,且借鑑了很多VSCode方面的東西,甚至是直接支持VSCode的擴展。這讓很多喜愛VSCode的開發者能快速的遷移。



Github

https://github.com/eclipse-theia/theia


本項目在Github上代碼更新活躍,截止筆者發文,最新的提交是在一個小時之前,本項目標星5k+



以下是本項目的貢獻者和支持者



範圍

  • 建立一個平台來構建類似IDE的產品;
  • 向最終用戶提供全面的多語言IDE(不僅僅是智能編輯器);
  • 同樣支持Cloud IDE和Desktop IDE的範例;
  • 通過語言和調試伺服器協議提供對多種語言的支持;
  • 為現代GUI提供javascript UI庫。

相關功能特性

1、Theia與VS Code

Theia項目本身也認為VS Code是一款出色的產品。這就是Theia接受許多設計決策,甚至直接支持VS Code擴展的原因。

最重要的區別是:

  • Theia的架構更加模塊化,可以進行更多自定義,
  • Theia是專為在Desktop(桌面)和Cloud(雲端)上運行而設計的,
  • Theia由與供應商無關的開源基金會開發。


2、支持JavaScript,Java,Python等

Theia 建立在Language Server協議之上,得益於不斷增長的生態系統超過60種可用的語言伺服器,為所有主要程式語言提供智能編輯支持。



3、集成多功能終端

Theia集成了功能齊全的終端,可在重新加載瀏覽器時重新連接,從而保留完整的歷史記錄。



4、布局靈活

Theia的外殼基於PhosphorJS,它為可拖動的碼頭布局提供了堅實的基礎。



擴展

Theia由擴展組成,擴展是一個npm程序包,它公開了許多有助於創建DI容器的DI模塊(ContainerModule)。通過package.json在應用程式的npm-package中添加依賴項來使用擴展。擴展可以在運行時安裝/卸載,這將觸發重新編譯並重新啟動。

構建屬於你的IDE

  • 環境要求

環境要求node版本在10+,且安裝了yarn,同時要求Python2.x的環境

npm install -g yarn

  • 安裝
mkdir my-app
cd my-app

在項目目錄中創建package.json:



簡而言之,Theia應用程式和擴展是Node.js軟體包。每個包都有一個package.json是體現包裝的元數據,如文件name,version其運行時間和建造時間的依賴性等。


  • 構建

首先,安裝所有依賴項

yarn

其次,使用Theia CLI構建應用程式。

yarn theia build

yarn在應用程式的上下文中查找theia提供的可執行文件@theia/cli,然後使用執行build命令theia。這可能需要一段時間,因為默認情況下該應用程式是在生產模式下構建的,即混淆並縮小了。


  • 運行
yarn theia start

yarn theia start /my-workspace --hostname 0.0.0.0 --port 8080

在終端中,應該看到Theia應用程式已啟動並正在偵聽:



總結

有關於Theia的詳細介紹,以及對雲端IDE感興趣的小夥伴們可以參考Github介紹和詳細的官方說明,雲端編程可能會成為趨勢,對此感興趣的朋友可以提前體驗,Theia只是大多數環境中的一種,之前筆者也介紹過code-server,簡直就是把VSCode搬到的瀏覽器上,Theia也是類似的產品,歡迎體驗!如果你有更好的推薦也可以留言分享!

文章來源: https://twgreatdaily.com/zh-tw/-N-fM28BMH2_cNUgBq_Y.html