1. 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 的安装和配置分为以下五步。

  1. 安装 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
...
  1. 离线安装 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
  1. 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