"工欲善其事,必先利其器"。选择一款好的开发工具,能大大提高开发效率。本章介绍主流的 Go 开发工具,帮助你选择适合自己的工具。
| 工具 | 类型 | 价格 | 特点 | 推荐指数 |
|---|---|---|---|---|
| VS Code | 编辑器 | 免费 | 轻量、插件丰富、跨平台 | ⭐⭐⭐⭐⭐ |
| GoLand | IDE | 付费 | 功能强大、开箱即用 | ⭐⭐⭐⭐⭐ |
| Vim/Neovim | 编辑器 | 免费 | 高效、可定制 | ⭐⭐⭐⭐ |
| Sublime Text | 编辑器 | 付费 | 轻量、快速 | ⭐⭐⭐ |
| Atom | 编辑器 | 免费 | GitHub 出品 | ⭐⭐⭐ |
Visual Studio Code(简称 VS Code)是微软开发的免费、开源代码编辑器。它轻量、快速、插件丰富,是目前最流行的 Go 开发工具之一。
下载地址:https://code.visualstudio.com/
根据你的操作系统下载对应版本,安装即可。
第一步:打开扩展面板
打开 VS Code,点击左侧的扩展图标(或按 Ctrl+Shift+X)。
第二步:搜索 Go 扩展
在搜索框输入 "Go",找到由 Go Team at Google 发布的官方扩展:
Go
Go Team at Google
点击 "Install" 安装。
安装扩展后,VS Code 会提示安装 Go 相关工具。点击 "Install All" 安装所有工具。
或者手动安装:
go install golang.org/x/tools/gopls@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install golang.org/x/tools/cmd/goimports@latest
打开设置(Ctrl+,),搜索 "Go",或直接编辑 settings.json:
{
"go.useLanguageServer": true,
"go.lintTool": "staticcheck",
"go.lintOnSave": "package",
"go.formatTool": "goimports",
"editor.formatOnSave": true,
"[go]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
}
| 快捷键 | 功能 |
|---|---|
F5 | 启动调试 |
Ctrl+F5 | 运行不调试 |
F9 | 切换断点 |
F10 | 单步跳过 |
F11 | 单步进入 |
Shift+F11 | 单步退出 |
| `Ctrl+`` | 打开终端 |
Ctrl+P | 快速打开文件 |
Ctrl+Shift+P | 命令面板 |
F12 | 跳转到定义 |
Shift+F12 | 查找所有引用 |
F2 | 重命名符号 |
| 插件 | 功能 |
|---|---|
| Go | Go 语言支持(必装) |
| Code Runner | 快速运行代码 |
| GitLens | Git 增强 |
| Error Lens | 行内显示错误 |
| Bracket Pair Colorizer | 括号配对着色 |
| Material Icon Theme | 文件图标主题 |
GoLand 是 JetBrains 公司专门为 Go 语言开发的 IDE。它功能强大,开箱即用,是专业的 Go 开发工具。
下载地址:https://www.jetbrains.com/go/download/
根据你的操作系统下载对应版本。
| 快捷键 | 功能 |
|---|---|
Shift+F10 | 运行 |
Shift+F9 | 调试 |
Ctrl+B | 跳转到定义 |
Ctrl+Alt+B | 跳转到实现 |
Ctrl+Alt+L | 格式化代码 |
Shift+F6 | 重命名 |
Ctrl+Alt+O | 优化导入 |
Ctrl+Shift+F | 全局搜索 |
Ctrl+Shift+R | 全局替换 |
Alt+Enter | 快速修复 |
Vim 是一款高度可定制的文本编辑器,深受资深开发者喜爱。Neovim 是 Vim 的现代化分支,支持异步和 Lua 脚本。
使用 vim-plug 或其他插件管理器安装:
" Go 开发必备插件
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
" 自动补全
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" 语法高亮
Plug 'vim-python/python-syntax'
" 状态栏
Plug 'vim-airline/vim-airline'
" 文件树
Plug 'preservim/nerdtree'
" 模糊搜索
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
| 命令 | 功能 |
|---|---|
:GoRun | 运行当前文件 |
:GoBuild | 编译当前包 |
:GoTest | 运行测试 |
:GoDef | 跳转到定义 |
:GoImports | 自动导入包 |
:GoFmt | 格式化代码 |
:GoLint | 代码检查 |
即使使用 IDE,了解命令行工具也很重要。
| 命令 | 功能 |
|---|---|
go run | 编译并运行 |
go build | 编译生成可执行文件 |
go test | 运行测试 |
go fmt | 格式化代码 |
go vet | 静态分析 |
go mod init | 初始化模块 |
go mod tidy | 整理依赖 |
go get | 下载依赖 |
go install | 安装包 |
go install honnef.co/go/tools/cmd/staticcheck@latest
运行检查:
staticcheck ./...
推荐使用 VS Code:
推荐使用 GoLand:
推荐使用 Vim/Neovim:
| 工具 | 适合人群 | 特点 |
|---|---|---|
| VS Code | 初学者、轻量用户 | 免费、轻量、插件丰富 |
| GoLand | 专业开发者 | 功能强大、开箱即用 |
| Vim/Neovim | 终端爱好者 | 高效、可定制 |