搶先一步
VMware 提供培訓和認證,助您快速進步。
瞭解更多Scripted 程式碼編輯器的第一個版本本週已在 github 上釋出:https://github.com/scripted-editor/scripted。
儘管 Scripted 是一個通用的程式碼編輯器,但最初的重點是構建出色的 JavaScript 編輯體驗。Scripted 本身完全使用 JavaScript 和 HTML/CSS 構建。它是一個基於瀏覽器的編輯器,在開發人員的機器上本地執行,並使用 Node.js 例項來提供編輯器程式碼並執行編輯器操作。執行 Scripted 的唯一先決條件是您安裝了最新版本的 Node.js(我們目前正在使用 Node 0.8.11 進行測試)。Scripted 重用了來自 Eclipse Orion 的編輯器元件。
Scripted 實際應用
首先,我們看到許多使用者選擇不使用 IDE,而是傾向於使用更簡單的輕量級編輯器(如 vim、Sublime、textmate)。開發人員通常對於執行常見任務(例如命令列 git)非常熟悉一套工具,並且不覺得有必要透過其他使用者介面來學習如何使用這些工具。這些開發人員希望工具能夠幾乎即時啟動並在操作過程中保持極高的響應速度。然而,目前來看,當他們選擇放棄 IDE 時,似乎也放棄了他們習慣的一些優勢,比如出色的內容輔助、快速導航和早期錯誤提示。Scripted 提供了一種輕量且快速的方案,同時支援開發人員不可或缺的關鍵 IDE 功能,例如內容輔助和對常見模組系統的理解。這些是 Scripted 的核心焦點。
其次,我們看到雲 IDE 和雲工作空間的概念越來越受歡迎。開發人員連線到某個遠端系統進行開發工作,通常這些工具(例如 Cloud9 IDE 和 eXo Cloud IDE)提供基於瀏覽器的編輯體驗。使用者的工作空間位於遠端系統上。這種設定對於某些團隊來說效果很好,但根據我們的經驗,開發人員並非 100% 時間都能連線到網際網路,因此仍然需要離線開發模式;此外,讓他們放棄“完全控制”並在遠端託管檔案可能也很困難。Scripted 遵循基於瀏覽器的編輯模型並在本地託管伺服器,提供的方案既能滿足開發人員當前的需求,未來透過簡單地將伺服器部署到遠端,也能支援使用雲工作空間。
從根本上說,我們認為許多現有的 JavaScript 工具在某些關鍵領域存在不足,鑑於我們在語言工具方面的背景,我們想看看能否構建一個輕量級工具來滿足這些需求。
但基本步驟如下
Mac/Linuxexport PATH=<pathToUnzipLocationOrClone>/bin:$PATH
Win
set PATH=<pathToUnzipLocationOrClone>\bin;%PATH%
scr foo.js
在客戶端方面,我們不想重複造輪子來實現編輯器技術,因此選擇了使用 Eclipse Orion 的編輯器。這提供了快速友好的編輯體驗,對於使用過“完整版 Eclipse” 編輯器的人來說會非常熟悉——它共享了許多相同的行為和快捷鍵繫結。我們盡力將我們在內容輔助等功能方面的工作貢獻回 Orion 專案。任何需要解析的 JavaScript 程式碼都會透過我們可恢復的 Esprima 解析器的衍生版本。當開發人員正在 actively 編輯檔案時,程式碼通常處於未完成狀態,因此一個即使在有錯誤時也能返回一個 decent 的 AST 的可恢復解析器非常重要。
我們決定儘早開源以獲取反饋。如果您想幫助我們塑造這個編輯器,請加入討論。有一個 scripted-dev Google 群組用於討論,還有一個 jira 問題跟蹤器用於記錄錯誤、增強功能請求以及對現有問題進行投票,以確保它們得到適當的優先處理。如果您想親自修改 codebase,我們絕對歡迎提交——請檢視 github 頁面獲取更多資訊。