update develop tools zh/01.4m

This commit is contained in:
vcaesar
2020-08-09 06:37:56 -04:00
parent b6ad1c0842
commit 70469f5bc7

View File

@@ -1,95 +1,112 @@
# 1.4 Go开发工具
本节我将介绍几个开发工具,它们都具有自动化提示自动化fmt功能。因为它们都是跨平台的所以安装步骤之类的都是通用的。
本节我将介绍几个开发工具,它们都具有自动化补全,自动化 fmt 和检查等功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。
## LiteIDE
## Visual Studio Code
LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境IDE由visualfc编写
Vscode 是微软基于 Electron 和 Web 技术构建的开源编辑器, 是一款非常强大的编辑器
而且目前 vscode-go 已升级为 Go 官方维护的工具, 也是当前免费开源的首选开发工具.
![](images/1.4.liteide.png?raw=true)
开源地址: https://github.com/Microsoft/vscode
图1.4 LiteIDE主界面
1、安装Visual Studio Code 最新版
**LiteIDE主要特点**
官方网站https://code.visualstudio.com
下载 Visual Studio Code 最新版,安装过程略。
* 支持主流操作系统
* Windows
* Linux
* MacOS X
* Go编译环境管理和切换
* 管理和切换多个Go编译环境
* 支持Go语言交叉编译
* 与Go标准一致的项目管理方式
* 基于GOPATH的包浏览器
* 基于GOPATH的编译系统
* 基于GOPATH的Api文档检索
* Go语言的编辑支持
* 类浏览器和大纲显示
* Gocode(代码自动完成工具)的完美支持
* Go语言文档查看和Api快速检索
* 代码表达式信息显示`F1`
* 源代码定义跳转支持`F2`
* Gdb断点和调试支持
* gofmt自动格式化支持
* 其他特征
* 支持多国语言界面显示
* 完全插件体系结构
* 支持编辑器配色方案
* 基于Kate的语法显示支持
* 基于全文的单词自动完成
* 支持键盘快捷键绑定方案
* Markdown文档编辑支持
* 实时预览和同步显示
* 自定义CSS显示
* 可导出HTML和PDF文档
* 批量转换/合并为HTML/PDF文档
2、安装 Go 插件
**LiteIDE安装配置**
点击右边的 Extensions/扩展 图标
搜索 `Go` 插件
在插件列表中,选择 Go进行安装安装之后系统会提示重启 Visual Studio Code。
* LiteIDE安装
* 下载地址 <http://sourceforge.net/projects/liteide/files>
* 源码地址 <https://github.com/visualfc/liteide>
首先安装好Go语言环境然后根据操作系统下载LiteIDE对应的压缩文件直接解压即可使用。
写一个 Hello World ,然后运行:
* 编译环境设置
hello.go
```Go
package main
import "fmt"
func main() {
fmt.Printf("Hello word")
}
```
根据自身系统要求切换和配置LiteIDE当前使用的环境变量。
以Windows操作系统64位Go语言为例
工具栏的环境配置中选择win64`编辑环境`进入LiteIDE编辑win64.env文件
GOROOT=c:\go
GOBIN=
GOARCH=amd64
GOOS=windows
CGO_ENABLED=1
PATH=%GOBIN%;%GOROOT%\bin;%PATH%
。。。
将其中的`GOROOT=c:\go`修改为当前Go安装路径存盘即可如果有MinGW64可以将`c:\MinGW64\bin`加入PATH中以便go调用gcc支持CGO编译。
保存的时候, vscode 右下角会提示,需要安装依赖包, 点击 Install All ( 建议提前设好代理, 参考 Go Module 章节 )
另外建议使用 golint 或者 golangci-lint 等工具, 可以写出更优雅的代码; 也可以把自动保存功能开启, 开启方法为:选择菜单 File点击 Auto save。
以Linux操作系统64位Go语言为例
工具栏的环境配置中选择linux64`编辑环境`进入LiteIDE编辑linux64.env文件
GOROOT=$HOME/go
GOBIN=
GOARCH=amd64
GOOS=linux
CGO_ENABLED=1
PATH=$GOBIN:$GOROOT/bin:$PATH
。。。
将其中的`GOROOT=$HOME/go`修改为当前Go安装路径存盘即可。
VSCode 代码设置可用于 Go 扩展。这些都可以在用户的喜好来设置或工作区设置(.vscode/settings.json
* GOPATH设置
VSCode 还有一些高级配置, 打开首选项-用户设置, 一般可以通过图形界面设置
也可以通过 settings.json 进行更多高级配置:
```Go
"go.buildOnSave": "package", // 'workspace', 'package', or 'off'.
"go.lintOnSave": "workspace", // 'workspace', 'package', or 'off'.
"go.vetOnSave": "workspace", // 'workspace', 'package', or 'off'.
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.coverOnSave": false,
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatOnSave": true,
//
"go.formatTool": "goimports", // goreturns
"go.lintTool": "golangci-lint",
"go.useLanguageServer": true,
//
"go.goroot": "", // 你的 Goroot, 可选配置
"go.gopath": "", // 你的 Gopath, go1.12 之后改用 go-mod, 可选配置
```
vscode 还有一项很强大的功能就是断点调试,结合 [delve](https://github.com/derekparker/delve) 可以很好的进行 Go 代码调试
```Go
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
brew install go-delve/delve/delve (mac可选)
```
如果有问题再来一遍:
```Go
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
```
注意:修改"dlv-cert"证书, 选择"显示简介"->"信任"->"代码签名" 修改为: 始终信任
打开首选项-工作区设置,配置launch.json:
```Go
{
"version": "0.2.0",
"configurations": [
{
"name": "main.go",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${workspaceRoot}", // 工作空间路径
"env": {},
"args": [],
"showLog": true
}
]
}
```
## GoLand
GoLand 是 JetBrains 公司推出的 Go 语言集成开发环境,是 Idea Go 插件的强化版。GoLand 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系。
经过几年不断迭代更新, GoLand 目前已经是 Go 开发工具中最成熟的 IDE 之一, 而且配置相当简单.
下载地址: https://www.jetbrains.com/go/
Go语言的工具链使用GOPATH设置是Go语言开发的项目路径列表在命令行中输入(在LiteIDE中也可以`Ctrl+,`直接输入)`go help gopath`快速查看GOPATH文档。
在LiteIDE中可以方便的查看和设置GOPATH。通过`菜单查看GOPATH`设置可以查看系统中已存在的GOPATH列表
同时可根据需要添加项目目录到自定义GOPATH列表中。
## Sublime Text
@@ -103,11 +120,11 @@
- 保存的时候自动格式化代码让您编写的代码更加美观符合Go的标准。
- 支持项目管理
![](images/1.4.sublime2.png?raw=true)
图1.6 sublime项目管理界面
- 支持语法高亮
- Sublime Text 3可免费使用只是保存次数达到一定数量之后就会提示是否购买点击取消继续用和正式注册版本没有任何区别。
@@ -149,19 +166,19 @@ import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_pa
3. 安装 [gocode](https://github.com/nsf/gocode/)
go get -u github.com/nsf/gocode
gocode 将会安装在默认`$GOBIN`
另外建议安装gotests(生成测试代码):
先在sublime安装gotests插件,再运行:
```Go
go get -u -v github.com/cweill/gotests/...
```
3. 验证是否安装成功你可以打开Sublime打开main.go看看语法是不是高亮了输入`import`是不是自动化提示了,`import "fmt"`之后,输入`fmt.`是不是自动化提示有函数了。
如果已经出现这个提示,那说明你已经安装完成了,并且完成了自动提示。
@@ -170,118 +187,115 @@ go get -u -v github.com/cweill/gotests/...
(针对XP)有时候在终端能运行成功,但sublime无提示或者编译解码错误,请安装sublime text3和convert utf8插件试一试
4. MacOS下已经设置了$GOROOT, $GOPATH, $GOBIN还是没有自动提示怎么办。
请在sublime中使用command + 9 然后输入env检查$PATH, GOROOT, $GOPATH, $GOBIN等变量 如果没有请采用下面的方法。
首先建立下面的连接, 然后从Terminal中直接启动sublime
ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime
## Visual Studio Code
## LiteIDE
vscode是微软基于Electron和web技术构建的开源编辑器, 是一款很强大的编辑器。开源地址:https://github.com/Microsoft/vscode
LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境IDE由visualfc编写。
1、安装Visual Studio Code 最新版
![](images/1.4.liteide.png?raw=true)
官方网站https://code.visualstudio.com/
下载Visual Studio Code 最新版,安装过程略。
图1.4 LiteIDE主界面
2、安装Go插件
**LiteIDE主要特点**
点击右边的 Extensions 图标
搜索Go插件
在插件列表中,选择 Go进行安装安装之后系统会提示重启 Visual Studio Code。
* 支持主流操作系统
* Windows
* Linux
* MacOS X
* Go编译环境管理和切换
* 管理和切换多个Go编译环境
* 支持Go语言交叉编译
* 与Go标准一致的项目管理方式
* 基于GOPATH的包浏览器
* 基于GOPATH的编译系统
* 基于GOPATH的Api文档检索
* Go语言的编辑支持
* 类浏览器和大纲显示
* Gocode(代码自动完成工具)的完美支持
* Go语言文档查看和Api快速检索
* 代码表达式信息显示`F1`
* 源代码定义跳转支持`F2`
* Gdb断点和调试支持
* gofmt自动格式化支持
* 其他特征
* 支持多国语言界面显示
* 完全插件体系结构
* 支持编辑器配色方案
* 基于Kate的语法显示支持
* 基于全文的单词自动完成
* 支持键盘快捷键绑定方案
* Markdown文档编辑支持
* 实时预览和同步显示
* 自定义CSS显示
* 可导出HTML和PDF文档
* 批量转换/合并为HTML/PDF文档
建议把自动保存功能开启。开启方法为:选择菜单 File点击 Auto save。
**LiteIDE安装配置**
vscode代码设置可用于Go扩展。这些都可以在用户的喜好来设置或工作区设置.vscode/settings.json
* LiteIDE安装
* 下载地址 <http://sourceforge.net/projects/liteide/files>
* 源码地址 <https://github.com/visualfc/liteide>
打开首选项-用户设置 settings.json:
首先安装好Go语言环境然后根据操作系统下载LiteIDE对应的压缩文件直接解压即可使用。
```Go
* 编译环境设置
{
"go.buildOnSave": true,
"go.lintOnSave": true,
"go.vetOnSave": true,
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.coverOnSave": false,
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatOnSave": true,
//goimports
"go.formatTool": "goreturns",
"go.goroot": "",//你的Goroot
"go.gopath": "",//你的Gopath
}
```
根据自身系统要求切换和配置LiteIDE当前使用的环境变量。
接着安装依赖包支持(网络不稳定,请直接到 GitHub [Golang](https://github.com/golang) 下载再移动到相关目录):
```Go
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/zmb3/gogetdoc
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v github.com/cweill/gotests/...
```
以Windows操作系统64位Go语言为例
工具栏的环境配置中选择win64`编辑环境`进入LiteIDE编辑win64.env文件
vscode 还有一项很强大的功能就是断点调试,结合 [delve](https://github.com/derekparker/delve) 可以很好的进行 Go 代码调试
GOROOT=c:\go
GOBIN=
GOARCH=amd64
GOOS=windows
CGO_ENABLED=1
```Go
PATH=%GOBIN%;%GOROOT%\bin;%PATH%
。。。
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
将其中的`GOROOT=c:\go`修改为当前Go安装路径存盘即可如果有MinGW64可以将`c:\MinGW64\bin`加入PATH中以便go调用gcc支持CGO编译。
brew install go-delve/delve/delve(mac可选)
以Linux操作系统64位Go语言为例
工具栏的环境配置中选择linux64`编辑环境`进入LiteIDE编辑linux64.env文件
```
如果有问题再来一遍:
```Go
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
```
注意:修改"dlv-cert"证书, 选择"显示简介"->"信任"->"代码签名" 修改为: 始终信任
GOROOT=$HOME/go
GOBIN=
GOARCH=amd64
GOOS=linux
CGO_ENABLED=1
打开首选项-工作区设置,配置launch.json:
PATH=$GOBIN:$GOROOT/bin:$PATH
。。。
将其中的`GOROOT=$HOME/go`修改为当前Go安装路径存盘即可。
* GOPATH设置
Go语言的工具链使用GOPATH设置是Go语言开发的项目路径列表在命令行中输入(在LiteIDE中也可以`Ctrl+,`直接输入)`go help gopath`快速查看GOPATH文档。
在LiteIDE中可以方便的查看和设置GOPATH。通过`菜单查看GOPATH`设置可以查看系统中已存在的GOPATH列表
同时可根据需要添加项目目录到自定义GOPATH列表中。
```Go
{
"version": "0.2.0",
"configurations": [
{
"name": "main.go",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${workspaceRoot}",//工作空间路径
"env": {},
"args": [],
"showLog": true
}
]
}
```
## Atom
AtomGitHub基于Electron和web技术构建的开源编辑器, 是一款很漂亮强大的编辑器缺点是速度比较慢。
AtomGitHub 基于 Electron 和 Web 技术构建的开源编辑器, 是一款很漂亮强大的编辑器, 缺点是速度比较慢。
首先要先安装下Atom下载地址: https://atom.io/
首先要先安装下 Atom下载地址: https://atom.io/
然后安装go-plus插件:
然后安装 go-plus 插件:
go-plusAtom上面的一款开源的go语言开发环境的的插件
go-plusAtom 上面的一款开源的 go 语言开发环境的的插件
它需要依赖下面的go语言工具:
它需要依赖下面的go语言工具:
```Go
1.autocomplete-go gocode的代码自动提示
2.gofmt 使用goftm,goimports,goturns
@@ -297,13 +311,8 @@ Atom是GitHub基于Electron和web技术构建的开源编辑器, 是一款很漂
就会开始安装 go-plus go-plus 插件会自动安装对应的依赖插件如果没有安装对应的go的类库会自动运行: go get 安装。
## GoLand
GoLand 是 JetBrains 公司推出的 Go 语言集成开发环境,是 Idea Go 插件的强化版。GoLand 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系。
下载地址: https://www.jetbrains.com/go/
## Vim
Vim是从vi发展出来的一个文本编辑器, 代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
vim-go是vim上面的一款开源的go语言使用最为广泛开发环境的的插件
@@ -311,11 +320,11 @@ vim-go是vim上面的一款开源的go语言使用最为广泛开发环境的的
插件地址:[github.com/fatih/vim-go](https://github.com/fatih/vim-go)
vim的插件管理主要有[Pathogen](https://github.com/tpope/vim-pathogen)与[Vundle](https://github.com/VundleVim/Vundle.vim)
,但是其作用的方面不同。
pathogen是为了解决每一个插件安装后文件分散到多个目录不好管理而存在的。vundle是为了解决自动搜索及下载插件而存在的。
这两个插件可同时使用。
,但是其作用的方面不同。
pathogen是为了解决每一个插件安装后文件分散到多个目录不好管理而存在的。vundle是为了解决自动搜索及下载插件而存在的。
这两个插件可同时使用。
1.安装Vundle
1.安装 Vundle
```sh
mkdir ~/.vim/bundle
@@ -405,6 +414,7 @@ Plugin 'Valloric/YouCompleteMe'
更多VIM 设定, 可参考[链接](http://www.cnblogs.com/witcxc/archive/2011/12/28/2304704.html)
## Emacs
Emacs传说中的神器她不仅仅是一个编辑器它是一个整合环境或可称它为集成开发环境这些功能如让使用者置身于全功能的操作系统中。
![](images/1.4.emacs.png?raw=true)
@@ -542,6 +552,7 @@ Emacs传说中的神器她不仅仅是一个编辑器它是一个整合环
6. 恭喜你你现在可以体验在神器中开发Go的乐趣。默认speedbar是关闭的如果打开需要把 ;; (speedbar 1) 前面的注释去掉,或者也可以通过 *M-x speedbar* 手动开启。
## Eclipse
Eclipse也是非常常用的开发利器以下介绍如何使用Eclipse来编写Go程序。
![](images/1.4.eclipse1.png?raw=true)
@@ -561,11 +572,11 @@ Eclipse也是非常常用的开发利器以下介绍如何使用Eclipse来编
https://github.com/nsf/gocode
在windows下要安装git通常用[msysgit](https://code.google.com/p/msysgit/)
再在cmd下安装
go get -u github.com/nsf/gocode
也可以下载代码直接用go build来编译会生成gocode.exe
4. 下载[MinGW](http://sourceforge.net/projects/mingw/files/MinGW/)并按要求装好
@@ -590,24 +601,25 @@ Eclipse也是非常常用的开发利器以下介绍如何使用Eclipse来编
(3).配置GDB可选做调试用设置GDB路径为MingW安装目录下的gdb.exe文件
![](images/1.4.eclipse4.png?raw=true)
图1.14 设置GDB信息
6. 测试是否成功
新建一个go工程再建立一个hello.go。如下图
![](images/1.4.eclipse5.png?raw=true)
图1.15 新建项目编辑文件
调试如下要在console中用输入命令来调试
![](images/1.4.eclipse6.png?raw=true)
图1.16 调试Go程序
## IntelliJ IDEA
熟悉Java的读者应该对于idea不陌生idea是通过一个插件来支持go语言的高亮语法,代码提示和重构实现。
1. 先下载ideaidea支持多平台win,mac,linux如果有钱就买个正式版如果不行就使用社区免费版对于只是开发Go语言来说免费版足够用了
@@ -621,9 +633,9 @@ Eclipse也是非常常用的开发利器以下介绍如何使用Eclipse来编
3. 这时候会看见很多插件搜索找到Golang,双击,download and install。等到golang那一行后面出现Downloaded标志后,点OK。
![](images/1.4.idea4.png?raw=true)
然后点 Apply .这时候IDE会要求你重启。
4. 重启完毕后,创建新项目会发现已经可以创建golang项目了
![](images/1.4.idea5.png?raw=true)