[图片] 一款基于 Web 的 Go 语言 IDE [图片] [图片] [图片] [图片] [图片] [图片] 简介 Wide 是一款基于 Web 的 Go 语言 IDE。 动机 目前较为流行的 Go IDE 都有一些缺陷或遗憾: 文本编辑器类(vim/emacs/sublime/Atom 等):对于新手门槛太高,搭建 ..

Wide 用户指南

本贴最后更新于 432 天前,其中的信息可能已经时移俗易

Wide

一款基于 Web 的 Go 语言 IDE




        

简介

Wide 是一款基于 Web 的 Go 语言 IDE

动机

目前较为流行的 Go IDE 都有一些缺陷或遗憾:

另外,Go IDE 很少,用 Go 本身开发的 IDE 更是没有,这是一次很好的尝试。关于产品定位的讨论请看这里

特性

基于 Web 的 IDE:

核心功能:

界面

主界面

Overview

跳转到文件

Goto File

自动完成

Autocomplete

主题

Theme

查看表达式

Show Expression Info

构建报错提示

Build Error Info

交叉编译

Cross-Compilation

Playground

Playground

架构

构建与运行

Build & Run

  1. 客户端浏览器发送 Build 请求
  2. 服务器使用 os/exec 执行 go build 命令

    2.1. 生成可执行文件
  3. 客户端浏览器发送 Run 请求
  4. 服务器使用 os/exec 执行文件

    4.1. 生成进程

    4.2. 运行结果输出到 WebSocket 通道
  5. 客户端浏览器监听 ws.onmessage 到消息后做展现

代码辅助

  1. 浏览器客户端发送代码辅助请求
  2. Handler 根据请求对应的 HTTP 会话获取用户工作空间
  3. 执行 gocode/ide_stub(gotools) 命令

    3.1. 设置环境变量(${GOPATH} 为用户工作空间路径)

    3.2. gocode 命令需要设置参数 lib-path

文档

社区

授权

Wide 使用 Apache License, Version 2 开源协议。

鸣谢


安装

前提

在安装 Wide 前需要搭建好 Go 开发环境:

  1. 下载并安装 Go (>=1.12)
  2. 确认环境变量 GOPATHGOROOT 已经配置正确

从源代码安装

  1. 下载 或通过 git clone https://github.com/b3log/wide 获取源码
  2. 安装依赖:go get github.com/visualfc/gotools github.com/nsf/gocode
  3. 编译 Wide:go build

Go 格式化工具

默认是使用 gofmt 进行 Go 源码格式化的。如果要使用 goimports,需要做如下调整:

  1. 安装 goimports:go get -u github.com/bradfitz/goimports
  2. 在“偏好设定” -> “Go 工具” -> “Go 格式化”中选择 goimports

多用户

支持多个用户同时使用一个 Wide 服务器,每个用户有自己独立的源代码仓库,编码/运行/调式都是在自己的工作空间中进行,不会影响其他用户。

工作空间

Wide 的工作空间就是 Go 中的 workspaces,也就是 $GOPATH 指定的路径。

运行时

用户在运行程序时进程是跑在服务器上的,所以多用户同时运行程序时最常见的问题就是资源冲突(比如网络端口),目前这个问题只能靠用户自行规避。

编辑器

Tabs

文件保存

在下面几种情况发生时会保存编辑器内容:

我们基本可以认为在写代码时文件是_实时自动保存_的。

键盘快捷键

编辑器

搜索

焦点

运行

文件树

国际化

目前 Wide 支持以下几种语言:

默认为简体中文。可以在 wide.json 中的 Locale 项进行配置(用户的配置会覆盖全局的默认配置),配置完后需要重启。

FAQ

wide.json 是什么?

wide.json 是 Wide 的配置文件,路径是 conf/wide.json。Wide 的所有配置(例如服务 IP、端口、区域等)都是保存在这个文件中的。

如果 Wide 是个人使用,那么默认的配置应该可以很好的工作,不需要修改任何地方。

什么是工作空间?

工作空间是当前用户的 $GOPATH 路径,一个用户只能有一个工作空间。

Windows 上构建时出现“Access is denied”

需要“以管理员身份运行”。

文件树里的 Go API 目录是什么?

该目录是读取 $GOROOT/src 生成的,方便用户查看 Go API 源代码。 在该目录下是不允许新建、编辑、删除文件的。

为什么代码辅助功能(自动完成/跳转到声明等)失效了?

请确认正确安装了 gocode 和 gotools 工具。安装命令:

简介

Wide 是一款基于 Web 的 Go 语言 IDE

动机

目前较为流行的 Go IDE 都有一些缺陷或遗憾:

另外,Go IDE 很少,用 Go 本身开发的 IDE 更是没有,这是一次很好的尝试。关于产品定位的讨论请看这里

特性

基于 Web 的 IDE:

核心功能:

界面

主界面

Overview

跳转到文件

Goto File

自动完成

Autocomplete

主题

Theme

查看表达式

Show Expression Info

构建报错提示

Build Error Info

交叉编译

Cross-Compilation

Playground

Playground

架构

构建与运行

Build & Run

  1. 客户端浏览器发送 Build 请求
  2. 服务器使用 os/exec 执行 go build 命令

    2.1. 生成可执行文件
  3. 客户端浏览器发送 Run 请求
  4. 服务器使用 os/exec 执行文件

    4.1. 生成进程

    4.2. 运行结果输出到 WebSocket 通道
  5. 客户端浏览器监听 ws.onmessage 到消息后做展现

代码辅助

  1. 浏览器客户端发送代码辅助请求
  2. Handler 根据请求对应的 HTTP 会话获取用户工作空间
  3. 执行 gocode/ide_stub(gotools) 命令

    3.1. 设置环境变量(${GOPATH} 为用户工作空间路径)

    3.2. gocode 命令需要设置参数 lib-path

文档

社区

授权

Wide 使用 Apache License, Version 2 开源协议。

鸣谢


安装

前提

在安装 Wide 前需要搭建好 Go 开发环境:

  1. 下载并安装 Go (>=1.12)
  2. 确认环境变量 GOPATHGOROOT 已经配置正确

从源代码安装

  1. 下载 或通过 git clone https://github.com/b3log/wide 获取源码
  2. 安装依赖:go get github.com/visualfc/gotools github.com/nsf/gocode
  3. 编译 Wide:go build

Go 格式化工具

默认是使用 gofmt 进行 Go 源码格式化的。如果要使用 goimports,需要做如下调整:

  1. 安装 goimports:go get -u github.com/bradfitz/goimports
  2. 在“偏好设定” -> “Go 工具” -> “Go 格式化”中选择 goimports

多用户

支持多个用户同时使用一个 Wide 服务器,每个用户有自己独立的源代码仓库,编码/运行/调式都是在自己的工作空间中进行,不会影响其他用户。

工作空间

Wide 的工作空间就是 Go 中的 workspaces,也就是 $GOPATH 指定的路径。

运行时

用户在运行程序时进程是跑在服务器上的,所以多用户同时运行程序时最常见的问题就是资源冲突(比如网络端口),目前这个问题只能靠用户自行规避。

编辑器

Tabs

文件保存

在下面几种情况发生时会保存编辑器内容:

我们基本可以认为在写代码时文件是_实时自动保存_的。

键盘快捷键

编辑器

搜索

焦点

运行

文件树

国际化

目前 Wide 支持以下几种语言:

默认为简体中文。可以在 wide.json 中的 Locale 项进行配置(用户的配置会覆盖全局的默认配置),配置完后需要重启。

FAQ

wide.json 是什么?

wide.json 是 Wide 的配置文件,路径是 conf/wide.json。Wide 的所有配置(例如服务 IP、端口、区域等)都是保存在这个文件中的。

如果 Wide 是个人使用,那么默认的配置应该可以很好的工作,不需要修改任何地方。

什么是工作空间?

工作空间是当前用户的 $GOPATH 路径,一个用户只能有一个工作空间。

Windows 上构建时出现“Access is denied”

需要“以管理员身份运行”。

文件树里的 Go API 目录是什么?

该目录是读取 $GOROOT/src 生成的,方便用户查看 Go API 源代码。 在该目录下是不允许新建、编辑、删除文件的。

为什么代码辅助功能(自动完成/跳转到声明等)失效了?

请确认正确安装了 gocode 和 gotools 工具。安装命令:

如果安装不正确,Wide 会自动检查并通过通知窗口告知用户。另外,通知窗口还会告知用户一些其他重要信息,例如 IDE 版本更新提醒等。

  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    25 引用 • 193 回帖 • 518 关注
  • 文档
    50 引用 • 1087 回帖 • 1 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    360 引用 • 1203 回帖 • 712 关注
2 回帖
请输入回帖内容...
  • jchjjj

    太牛了,试试这个 IDE!

  • JobsLeeCN

    在线 IDE 来学习学习 D 大 v5👍