# wide **Repository Path**: hanhyu/wide ## Basic Information - **Project Name**: wide - **Description**: 一款基于 Web 的 Go 语言 IDE。主库请访问 https://github.com/b3log/wide - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://wide.b3log.org - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 45 - **Created**: 2019-05-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
## 简介 Wide 是一款基于 **W**eb 的 Go 语言 **IDE**。 ## 动机 目前较为流行的 Go IDE 都有一些缺陷或遗憾: * 文本编辑器类(vim/emacs/sublime/Atom 等):对于新手门槛太高,搭建复杂 * 插件类(goclipse、IDEA 等):需要原 IDE 支持,不够专业 * LiteIDE 界面不够 modern、goland 收费 * **缺少网络分享、嵌入网站可运行功能** 另外,Go IDE 很少,用 Go 本身开发的 IDE 更是没有,这是一次很好的尝试。关于产品定位的讨论请看[这里](https://hacpai.com/article/1438407961481)。 ## 特性 基于 Web 的 IDE: * 只需要浏览器就能进行开发、运行 * 跨平台,甚至在移动设备上 * 易进行功能扩展 * 易与其他系统集成 * 极客体验 核心功能: * 代码高亮、折叠:Go/HTML/JavaScript/Markdown 等 * 自动完成:Go/HTML 等 * 编译检查:编辑器提示编译错误 * 格式化:Go/HTML/JSON 等 * 运行:支持同时运行多个程序 * 代码导航:跳转到声明,查找使用,文件搜索等 * Web 开发:前端(HTML/JS/CSS)开发支持 * go tool:go mod/install/fmt 等 * 项目文件导出 * UI/编辑器多主题 * 支持交叉编译 ## 界面 ### 主界面  ### 跳转到文件  ### 自动完成  ### 主题  ### 查看表达式  ### 构建报错提示  ### 交叉编译  ### Playground  ## 架构 ### 构建与运行  * 一个浏览器 tab 对应一个 Wide 会话 * 通过 WebSocket 进行程序执行输出推送 1. 客户端浏览器发送 ````Build```` 请求 2. 服务器使用 ````os/exec```` 执行 ````go build```` 命令