vscode golang开发环境
2022-03-26 00:18 youxin 阅读(209) 评论(0) 编辑 收藏 举报google开发的go插件 Rich Go language support for Visual Studio Code
这个go插件会自动安装其他插件。
如果自动安装其他插件失败可以手动安装
VsCode Go插件依赖的工具
- 安装Go插件所依赖的go tools
按ctrl+shift+p 调出命令面板,输入go install tools 选Go: Install/Update Tools
https://zhuanlan.zhihu.com/p/320343679
"[go]": {
"editor.formatOnSave": false
}
https://stackoverflow.com/questions/35571033/how-to-set-vscode-format-golang-code-on-save
VsCode Go插件配置最佳实践指南
- 原理
VsCode Go插件的工作原理与其它的ide是不一样的,比如idea(goland),它是通过一系列go的小工具来完成ide的相关功能。比如智能提示,代码导航(查看引用,查看源码,查看接口),符号搜索,括号匹配,代码段之类的语言功能等。
但是如果是启用了go language server,那就是用的vscode的lsp来工作的,不是用go的小工具,推荐大家用go language server.
- 为什么你的VsCode Go插件不能正常工作
那些插件所依赖小工具如果不能正确工作(比如没有正确安装,比如版本不对,go path不对,没有下载成功),你的VsCode Go插件不能工作。
go pls 是个什么东西
https://baijiahao.baidu.com/s?id=1677210728436131112&wfr=spider&for=pc
https://www.jianshu.com/p/254d582cbe74
vet 是 golang 中自带的静态分析工具,可以让我们检查出 package 或者源码文件中一些隐含的错误。
为什么使用 vet?
比如下面这段程序
package main
import "fmt"
func main() {
test()
}
func test() {
str := "Hello"
fmt.Printf("%d World", str)
}
这时候编译是可以通过的。但是很明显,我们在 %d 的位置是要打印一个字符串,应该用 %s,这时候如果用 vet 扫描一下就可以避免这个问题
分析某个文件
go vet floder/main.go
分析某个包
go vet floder/*.go
go vet floder/...
也可以分析多个包和多个文件,用空格隔开即可。
另外,go 还有很多质量工具,最常用的就是 goimports(来检测引用包的问题),gofmt(代码格式问题),golangci-lint(语法检测),还有一些其他第三方的质量检测工具,帮助我们完善代码:https://github.com/analysis-tools-dev/static-analysis#go
链接:https://www.jianshu.com/p/0f79d528410d
不让vscode自动格式化go代码,全部设为false:
{ "[go]": { "editor.insertSpaces": true, "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports": true } } }
Linux VSCode Go无法跳转到定义

Vscode设置搜索 Docs Tool,把 Docs Tool改成gogetdoc或者guru试试,我的用guru就可以了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
2017-03-26 svn ignore 的用法
2016-03-26 J2EE MyBatis使用
2016-03-26 Spring Jdbc
2016-03-26 J2EE sitemesh使用
2014-03-26 Yii框架下不同contoller之间的方法调用
2013-03-26 转:和机器学习和计算机视觉相关的数学
2013-03-26 转:数据挖掘资料收集