- Go 开发 IDE 安装和配置
3. Go 开发 IDE 安装和配置
https://gitee.com/mirrors/iam
编译环境准备完之后,你还需要一个代码编辑器才能开始 Go 项目开发。为了提高开发效率,你还需要将这个编辑器配置成 Go IDE。
目前,GoLand、VSCode 这些 IDE 都很优秀,但它们都是 Windows 系统下的 IDE。在 Linux 系统下我们可以选择将 Vim 配置成 Go IDE。熟练 Vim IDE 操作之后,开发效率不输 GoLand 和 VSCode。有多种方法可以配置一个Vim IDE,但当前比较受欢迎的是通过 SpaceVim 将 Vim 配置成一个 Go IDE。
SpaceVim 是一个社区驱动的、模块化的 Vim IDE,它以模块的方式组织管理插件以及相关配置,为不同的语言开发量身定制了相关的开发模块。SpaceVim提供代码自动补全、语法检查、格式化、调试、REPL 等特性。开发者只需要载入相关语言的模块就能得到一个开箱即用的 Vim IDE。
Vim 可以选择 NeoVim。NeoVim 是基于 Vim 的一个 fork 分支,它主要解决了 Vim8 之前版本中的异步执行、开发模式等问题,对 Vim 的兼容性很好,同时对 Vim 的代码进行了大量的清理和重构,去掉了对老旧系统的支持,添加了新的特性。
虽然 Vim8 后来也新增了异步执行等特性,两者在使用层面差异不大,但是 NeoVim 开发更激进,新特性更多,架构也相对更合理,所以我选择了 Neo Vim,你也可以根据个人爱好来选择。Vim IDE 的安装和配置分为以下五步。
- 安装 NeoVim。
pip3yum
centos:
$ sudo pip3 install pynvim
$ sudo yum -y install neovim
ubuntu:
$ sudo apt update
$ sudo apt install -y neovim
$ sudo apt install python3-pip
$ sudo pip3 install neovim jedi python-language-server --user
$HOME/.bashrc
nvimvivinvimnvim
$ tee -a $HOME/.bashrc <<'EOF'
# Configure for nvim
export EDITOR=nvim # 默认的编辑器(git 会用到)
alias vi="nvim"
EOF
nvim
你可以通过查看 NeoVim 的版本来确认是否安装成功,如果成功输出版本号,说明 NeoVim 安装成功。
$ bash
$ vi --version # 输出 NVIM v0.3.8 说明安装成功
NVIM v0.3.8
Build type: RelWithDebInfo
...
- 离线安装 SpaceVim。
安装 SpaceVim 步骤稍微有点复杂,为了简化你的安装,我将安装和配置 SpaceVim 的步骤做成了一个离线安装包 marmotVim 。marmotVim 可以进行 SpaceVim 的安装、卸载、打包等操作,安装步骤如下:
$ cd /tmp
$ wget https://marmotedu-1254073058.cos.ap-beijing.myqcloud.com/tools/marmotVim.tar.gz
$ tar -xvzf marmotVim.tar.gz
$ cd marmotVim
$ ./marmotVimCtl install
$HOME/.SpaceVim.d/init.toml$HOME/.SpaceVim.d/autoload/custom_init.vim
- init.toml: SpaceVim 的配置文件。
- custom_init.vim: 用户自定义的配置文件,兼容 vimrc。
提示: 如果离线安装遇到问题,你也可以直接参考SpaceVim的官方文档来安装:https://spacevim.org/quick-start-guide/。
SpaceVim Go IDE 常用操作的按键映射如下表所示:
:GoDef:GoDefPop:GoDoc:GoIfErrif err != nil { return ... }:GoDefType:GoInfo
- Go 工具安装。
gurugodef
vi test.go:GoInstallBinaries$GOPATH/bin
$ cd /tmp
$ wget https://marmotedu-1254073058.cos.ap-beijing.myqcloud.com/tools/gotools-for-spacevim.tgz
$ mkdir -p $GOPATH/bin
$ tar -xvzf gotools-for-spacevim.tgz -C $GOPATH/bin