Wide - 使用Golang開發基于Web的IDE團隊
Wide 是使用Golang開發基于Web的IDE團隊 。

Wide 的由來
-
團隊的 IDE:
-
安全可靠:項目源代碼實時保存在服務器上,開發者的機器崩潰不會丟失任何源代碼
-
統一環境:服務器統一配置開發環境,開發者本機無需任何額外配置
-
開箱即用:5 分鐘搭建服務器;開發者打開瀏覽器即可開發、調試
-
版本控制:每個開發者擁有自己的源代碼倉庫,隨時可和主干保持同步
-
基于 Web 的 IDE:
-
只需要瀏覽器就能進行開發
-
跨平臺,甚至在移動設備上
-
易進行功能擴展
-
易與其他系統集成
-
極客體驗
-
商業-開源的一次嘗試:會推出專門為企業定制的 Wide,貼近開發流程
-
目前較為流行的 Go IDE 都有一些缺陷或遺憾:
-
文本編輯器類(vim/emacs/sublime/Atom 等):對于新手門檻太高,搭建復雜
-
插件類(goclipse 等):需要原 IDE 支持,不夠專業
-
LiteIDE:界面不夠 modern :p
-
沒有團隊開發體驗
-
Go IDE 很少,用 Go 本身開發的 IDE 更是沒有,這是一個很好的嘗試
特性
-
代碼高亮、折疊:Go/HTML/JavaScript/Markdown 等
-
自動完成:Go/HTML 等
-
編譯檢查:編輯器提示編譯錯誤
-
格式化:Go/HTML/JSON 等
-
運行:支持同時運行多個程序,方便聯調
-
調試:基于 gdb 的調試系統
-
多用戶:團隊開發,方便協作
-
代碼導航:跳轉到聲明,查找使用,文件搜索等
-
Shell:連接到服務器執行命令
-
Web 開發:前端(HTML/JS/CSS)開發支持
-
go tool:go get/install/fmt 等
-
Git 整合:常用 git 命令可視化操作
文檔
架構
Build & Run
- A browser tab corresponds to a Wide session
- Execution output push via WebSocket
Flow:
- Browser sends
Build
request - Server executes
go build
command viaos/exec
2.1. Generates a executable file - Browser sends
Run
request - Server executes the file via
os/exec
4.1. A running process
4.2. Execution output push via WebSocket channel - Browser renders with callback function
ws.onmessage
Code Assist
- Autocompletion
- Find Usages
Flow:
- Browser sends code assist request
- Handler gets user workspace of the request with HTTP session
- Server executes
gocode
/ide_stub
3.1 Sets environment variables (e.g. ${GOPATH})
3.2gocode
withlib-path
parameter
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!