网站首页 > 技术文章 正文
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,对大数据和机器学习,也有一些钻研,欢迎关注和交流。
猜你喜欢
- 2025-05-30 多学习才能多赚钱之:vscode怎么安装插件
- 2025-05-30 VSCode无限画布模式(可能会惊艳到你的一个小功能)
- 2025-05-30 VSCode神级Ai插件Cline:从安装到实战【创建微信小程序扫雷】
- 2025-05-30 vscode常用插件二 vue代码提示插件VueHelper
- 2025-05-30 使用 VSCode 接入 DeepSeek V3 平替 Cursor 与 Trae 的 AI 编程方案
- 2025-05-30 最佳VSCode的增强型Git扩展插件
- 2025-05-30 Void开源编程神器!替代Cursor
- 2025-05-30 AI Toolkit,VsCode最全面的AI插件,太香了~
- 2025-05-30 VSCODE的插件安装和使用
- 2025-05-30 CMake 入门学习2 使用VSCode cmake插件
你 发表评论:
欢迎- 497℃几个Oracle空值处理函数 oracle处理null值的函数
- 493℃Oracle分析函数之Lag和Lead()使用
- 493℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 480℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 470℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 467℃【数据统计分析】详解Oracle分组函数之CUBE
- 453℃Oracle有哪些常见的函数? oracle中常用的函数
- 445℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Spring Boot跨域难题终结者:3种方案,从此告别CORS噩梦!
- 京东大佬问我,SpringBoot为什么会出现跨域问题?如何解决?
- 在 Spring Boot3 中轻松解决接口跨域访问问题
- 最常见五种跨域解决方案(常见跨域及其解决方案)
- Java Web开发中优雅应对跨域问题(java跨域问题解决办法)
- Spring Boot解决跨域最全指南:从入门到放弃?不,到根治!
- Spring Boot跨域问题终极解决方案:3种方案彻底告别CORS错误
- Spring Cloud 轻松解决跨域,别再乱用了
- Github 太狠了,居然把 "master" 干掉了
- IntelliJ IDEA 调试 Java 8,实在太香了
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)