经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Go语言 » 查看文章
go语言vscode集成开发环境搭建
来源:cnblogs  作者:我是水货  时间:2023/8/14 8:51:37  对本文有异议

本篇概要

搭建go语言环境,除了要搭建go语言的编译环境,还要搭建go语言的集成开发环境,为此需要选择go语言的集成开发环境的工具,这就是“工于善其事,必先利其器”,可以大大加快自己的开发进度。

集成开发环境工具(ide)

这里我主要介绍从我2016年开始学习go语言以来使用过的go语言的所有集成开发环境工具,如果你对这段没有兴趣,可以直接跳过。

Goland或IntelliJ IDEA

这是我较早使用的集成开发环境工具,Goland或IntelliJ IDEA等JetBrains产品是非常优秀的go语言集成开发环境工具,其中IntelliJ IDEA更是一个几乎所有主流语言的集成开发环境工具。

Goland或IntelliJ IDEA是目前我用过的最好的go语言集成开发环境,它比其他开发环境优秀的地方是对于go语言接口的完美支持。它不仅可以快速检索哪些go语言的机构体实现了一个go语言接口,而且能快速检索一个go语言的机构体是否实现某个go语言接口,而其他集成开发环境并不能完美做到这一点(事实上这点很重要,go语言是面向接口的,而且是隐式的)。如果你是一个初学go语言的开发者,我强烈推荐你使用这个集成开发环境工具!另外,它配置非常简单,对新进的开发者也极其友好,你肯定会喜欢上它的开发环境和插件。

但是这个工具的唯一缺点就是每年需要你投入一定的资金(现在第一年US $99.00)购买许可证,当然每年的许可费用会越来越便宜,另外如果你是学生,可以免费白嫖这个工具。

Visual Studio Code

Visual Studio Code简称vscode,这是我现在使用的集成开发环境,而且是虽然它不如Goland或IntelliJ IDEA,但是它支持go语言google开发团队开发的官方语言服务器gopls,在go语言1.13时代之后官方语言服务器gopls已经逐步替代了许多其他的go语言工具,另外我觉得Visual Studio Code是目前免费go语言集成开发工具做的最好的,由于它对官方语言服务器的支持,为此Visual Studio Code在go语言编程时支持go mod依赖,代码补全,语义检查等等方面支持都很好。

其他集成开发环境

其他的我还使用过的ide工具,如[sublime text 3](sublime text 3)以及LiteIDE,就不详细介绍了。

另外,还有我没使用过但听过的go语言集成开发环境,Eclipse,Atom,Emacs。

Visual Studio Code的go语言开发环境搭建

这里主要介绍了windows操作系统的搭建

Visual Studio Code安装

可以从官网下载Visual Studio Code注意:下载可能会很慢

按照指引,点击下一步

注意选择以上并且不断点击下一步即可完成安装

go编译环境安装

go安装软件官网下载合适的go编译环境,例如本次我下载的版本是go1.20.7.windows-amd64.msi,需要注意的是go语言的镜像官网不仅仅提供下载,请好好探索一下它,后面的篇章中我还会详细提及它的强大作用。

同意协议后,选择安装路径,请记住这个路径,然后按next完成安装

配置go环境变量

右击电脑,点击属性后出现以下页面

点击高级选项,如下点击

如下点击新建环境变量

  1. 变量名:GOROOT 变量值:E:\lang\go ,这是go语言的编译环境安装目录,如上所示。
  2. 变量名:GO11MODULE 变量值:on,这是go语言的第三方模块依赖的。
  3. 变量名:GOPROXY 变量名:https://goproxy.cn,direct , 这是go语言的代理,用于能够正常访问一些Google的go语言的资源。
  4. 变量名:GOPATH 变量名:E:\projects 这是go语言的项目位置。

如下图将%GOROOT%\bin加入path

之后不断确认你打开的所有窗口,建议重启后,使用win+R打开cmd输入以下命令检查是否正常安装

  1. go version
  2. go version go1.20.7 windows/amd64

安装go语言插件

在vscode插件市场选择go语言

安装完后选择编辑go语言插件配置

直接在json文件中编辑

如下:

  1. {
  2. "go.gopath": "E:\projects"
  3. }

在E:\projects下建立如下文件夹bin,pkg, src

  1. -----+---bin
  2. +---pkg
  3. +---src

安装go语言插件的依赖软件,使用Ctil+Shift+P

选择安装所有插件

以下是安装完的场景

使用golang编程

在E:\projects\src下建立如下文件github.com/Breeze0806/test/main.go

  1. -----+--bin
  2. +--pkg
  3. +--src--+--github.com--+--Breeze0806--+--test--+--main.go--

另外加入vscode的项目配置,在.vscode/setting.json配置以下项目:

  1. {
  2. "go.formatTool": "goimports",
  3. "go.lintOnSave": "package",
  4. "go.vetOnSave": "package",
  5. "go.useLanguageServer": true,
  6. "[go]": {
  7. "editor.formatOnSave": true,
  8. "editor.codeActionsOnSave": {
  9. "source.organizeImports": true,
  10. },
  11. // Optional: Disable snippets, as they conflict with completion ranking.
  12. "editor.snippetSuggestions": "none",
  13. },
  14. "[go.mod]": {
  15. "editor.formatOnSave": true,
  16. "editor.codeActionsOnSave": {
  17. "source.organizeImports": true,
  18. },
  19. },
  20. "gopls": {
  21. // Add parameter placeholders when completing a function.
  22. "usePlaceholders": true,
  23. // If true, enable additional analyses with staticcheck.
  24. // Warning: This will significantly increase memory usage.
  25. "staticcheck": false,
  26. },
  27. "go.languageServerFlags": [
  28. "-rpc.trace", // for more detailed debug logging
  29. "serve",
  30. "--debug=localhost:6060", // to investigate memory usage, see profiles
  31. ],
  32. "go.coverOnSave": true,
  33. "go.coverOnSingleTest": true,
  34. "go.coverOnSingleTestFile": true,
  35. "go.coverShowCounts": true,
  36. "go.testOnSave": false,
  37. "go.testFlags": [],
  38. "go.lintTool": "golint"
  39. }

在main.go中写入以下程序

  1. package main
  2. func main(){
  3. fmt.Println("Hello")
  4. }

使用go mod 命令建立项目

  1. go mod init github.com/Breeze0806/test
  2. go mod tidy
  3. go run main.go

如图test目录下多了go.mod,输出结果为Hello

本篇小结

本篇讨论了go语言的当前所有的集成开发环境,并且介绍了Visual Studio Code的windows操作系统下的go语言开发环境搭建,那么其他操作系统有没有办法搭建?有的,由于楼主使用的windows系统,其实unbuntu或者mac的搭建方式类似。

本篇小结

本篇讨论了go语言的当前所有的集成开发环境,并且介绍了Visual Studio Code的windows操作系统下的go语言开发环境搭建,那么其他操作系统有没有办法搭建?有的,由于楼主使用的windows系统,其实unbuntu或者macos的搭建方式类似,

下篇预告

《go语言的数据类型那点事》

原文链接:https://www.cnblogs.com/onlyac/p/17627352.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号