当前位置:首页 > 文章中心 > 正文内容

VsCode Go插件配置最佳实践指南

dgx6661个月前 (06-29)文章中心5

VsCode Go插件配置最佳实践指南


VsCode Go插件工作原理

VsCode Go的正确安装方式

VsCode Go插件依赖的工具

  • go tools
  • go path配置
  • go mod相关

VsCode Go插件在Go项目中的正确配置

  • 如何运行
  • 如何Debug

VsCode Go插件的那些常用快捷

  • 写在最后
  • 求关注


VsCode Go插件工作原理

  • 原理

VsCode Go插件的工作原理与其它的ide是不一样的,比如idea(goland),它是通过一系列go的小工具来完成ide的相关功能。比如智能提示,代码导航(查看引用,查看源码,查看接口),符号搜索,括号匹配,代码段之类的语言功能等。

但是如果是启用了go language server,那就是用的vscode的lsp来工作的,不是用go的小工具,推荐大家用go language server.

  • 为什么你的VsCode Go插件不能正常工作

那些插件所依赖小工具如果不能正确工作(比如没有正确安装,比如版本不对,go path不对,没有下载成功),你的VsCode Go插件不能工作。


VsCode Go的正确安装方式

  • 先从扩展管理中安装Go插件



VsCode Go插件依赖的工具

  • 安装Go插件所依赖的go tools

按ctrl+shift+p 调出命令面板,输入go install tools 选Go: Install/Update Tools



go tools



这个阶段可能会失败。

很多人就卡在这一步就进行不下去了。这个得自己想一下办法。网上现在的办法都是让你去下载下来放到某个目录,心智负担太大还容易搞错。

我介绍2个方法

方法1:开国外vpn或者代理,让它安装成功。

方法2:设置go proxy.

go env -w GOPROXY=https://goproxy.cn清空缓存 go clean --modcache


go path配置

gopath直接在环境变量中设置就可以了,不用单独在vscode中设置。

关于go path的设置,还有一个问题,就是要不要设置2个的问题。

设置2个的目的是为了将工程放在第二个gopath下面,第一个是放go get的

在设置2个的时候,执行go get的会默认下载到一个gopath,但这个对于vscode来说可能会有点问题。

vscode中可以为在vscode中安装的go tools设置一个单独的目录具体设置项为 Tools Gopath,使用ctrl+, 然后输入tools gopath ,在下方填你想独立存放刚才第二步安装的工具的存放的地方了。



Go: Tools GopathLocation to install the Go tools that the extension depends on if you don't want them in your GOPATH.


go mod相关

如果你现在使用了go mod模式,就不用纠结配置几个gopath的问题,只配置一个就好了。vscode的go mod支持需要启用language server按ctrl+, (注意是ctrl + 英文状态的逗号)调出配置界面,输入go.lang



把 Use Language Server设置选中状态即开启了gopls了,这时vscode就会很好的支持go mod类型的项目了。


VsCode Go插件在Go项目中的正确配置


如何运行

如果是一个单独的main.go这种,现在你的vscode应该可以工作了,但是在工程里面可能不行。

工程一般有2种 结构

一种是有src目录,就是go 代码放在工程目录下面的src目录下面,这就可能会导致一些项目不能正确加载,比如非go mod项目。

这时候在工程目录下面建一个.vscode目录,然后在.vscode目录下面创建.settings.json文件

在里面设置gopath



如果你的main包不在src目录下面,则需要设置cwd,也就是工作时切换到的目录

这时候可以选中你的main.go,按ctrl+F5,start Without Debuging,开始运行了.

说一点,如果是go mod的工程,这个gopath就不需要配置了.


如何Debug和运行

vscode里面正常的工程项目main包一般在cmd下面,不同的项目可能不同,但一定有一个main包。

选中你的main.go,按F5,这时就会弹出一个需要创建launch.json,点create a launch.json,直接默认的选中go,就会在.vscode目录下生成一个launch.json文件



生成的launch.json如下



这时候一般的程序都可以开始调试了,但是如果你的main.go启动是需要一些配置文件话,需要配置一个cwd的属性.

cwd - current working directory for finding dependencies and other files

加上cwd的属性如下





到此,设置好断点,选中入口文件,按F5就可以进入debug了,然后f10单步之类的快捷键,可以看界面上的提示,自己点几下就知道好玩了.


VsCode Go插件的那些常用快捷

ctrl+p 文件搜索快捷键

ctrl+shift+p 命令快捷键

ctrl+shift+k 删除一行

alt+左方向键 回到上一次编辑的地方

ctrl+鼠标左键,跳到方法定义的地方


写在最后

要不要切换到vscode,这个不重要,重要的是你选择一个ide并灵活熟练使用它.还有,最后,尽量不要使用破解版本的idea(goland).


求关注

我是@coding老王,做服务端开发已经有十多年了,熟悉java,golang,Python,对大数据和机器学习,也有一些钻研,欢迎关注和交流。

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/2571.html

标签: vscode安装包
分享给朋友:

“VsCode Go插件配置最佳实践指南” 的相关文章

AutoCAD 2014机械设计完全自学手册

《CAD/CAM/CAE工程应用丛书:AutoCAD 2014机械设计完全自学手册(第2版)》主要针对机械设计CAD领域编写,以AutoCAD 2014中文版为设计平台,详细而系统地介绍了AutoCAD在机械设计领域内的具体应用技术。书中共分为两个部分15个章节。第一部分(第1-6章),讲解了Aut...

AutoCAD 软件介绍、软件安装

第一章 AutoCAD入门必读本章目标& 了解AutoCAD的含义、应用领域及发展历程& 实操软件安装与注册& 掌握界面组成及应用& 掌握命令操作方法& 熟记选取图形的几种方式并应用& 实操坐标输入与动态输入内容讲解:第1天——兴趣启发,原来黑底白线的CAD可以这样有意思。今天,展英飞来找老师补习功...

CAD入门基础内容

CAD制图会有入门和中高级之分,一开始要有很多知识点要记,但很多刚开始学的小伙伴可能还不了解,下面是我就来介绍一下CAD入门基础内容,希望大家能有所收获!打开CAD2007绘图界面,点击“绘图”,在下拉菜单中选择“点”。然后选择“单点”,命令窗口中将出现“指定点”的命令,在绘图界面中可以绘制单点。绘...

为什么用CAD软件绘图,鼠标会一直抖动?你关掉这两个设置就好了

CAD软件应该是绘制平面图类软件的霸主了,可是大部分人使用的时候不注意一些细节,导致绘图的时候遇到许多问题,没有及时处理,大大影响绘图效率。例如在绘图时,鼠标总是出现抖动状态,很多小伙伴都对此视而不见,以为是软件自身问题或显卡的问题,其实并不是。我们一起来看看是什么问题吧~一、鼠标为什么会抖动看下你...

怎么把备忘录放桌面 怎么在桌面显示备忘录便签里的内容

手机上自带的备忘录app是很多人都使用过的一款软件,以iPhone为例,自从iOS系统升至iOS14版本以来,就新增了桌面小组件功能。为了方便自己的使用,提高查看内容的效率,怎么把备忘录放桌面?怎么在桌面显示备忘录便签里的内容?要想在iOS14及以上版本的iPhone手机桌面上摆放备忘录很简单,首先...

FIFA13跳出、闪退、卡顿等运行问题及解决方法汇总

觉得掉帧可以用D3DOverrider为FIFA13.exe(强制)开启三重缓冲和垂直同步,并也在显卡驱动控制面板中(强制)开启抗锯齿请使用最新版显卡驱动和Direct XAPPCRASH”错误请将fifaconfig.exe 和 FIFA13.exe的属性设为在Win XP SP3兼容模式下运行。...