当前位置: 首页 > news >正文

vscode 配置golang开发环境

vscode 配置golang开发环境

在go1.20环境中需要指定工具的安装版本

go install golang.org/x/tools/gopls@v0.15.3
go install github.com/go-delve/delve/cmd/dlv@v1.21.0

使用 go insert or update安装工具会报错
go版本太低, 而很多时候为了项目稳定或风险太高, 我们不太希望升级到go最新版

解决办法:

在 Settings.json 里指定 toolsManagement 的目标 GO 版本

"go.toolsManagement.go": "D:/Program/gvm/go/bin/go.exe",

外部依赖包无法解析、引入
当从 Cursor 打开项目代码的时候,会出现下面的情况,依赖包无法引入。

解决办法:
手动安装 golps

go install golang.org/x/tools/gopls@v0.15.3 (1.20.5 支持的版本)

并在 Settings.json 中指定 golps 执行文件的目录:

"go.alternateTools": {
    "gopls": "D:\\Channelwill\\go\\bin\\gopls.exe",
},

配置调试环境
更新 lanuch 配置,示例如下:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "API Server",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "${workspaceFolder}api/main.go",  // 程序1的路径
            "env": {},                          // 可以在这里设置环境变量
            "args": [
                "--conf", "D:/xxx/config"
            ],                   // 可以在这里传递命令行参数
            "showLog": true,                    // 设置是否显示日志
        },
        {
            "name": "Grpc Server",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "${workspaceFolder}/grpc/main.go",  // 程序1的路径
            "env": {},                          // 可以在这里设置环境变量
            "args": [
                "--conf", "D:/xxx/config"
            ],                   // 可以在这里传递命令行参数
            "showLog": true,                    // 设置是否显示日志
        },
        {
            "name": "RabbitMQ Server",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "${workspaceFolder}/rabbitmq/main.go",  // 程序1的路径
            "env": {},                          // 可以在这里设置环境变量
            "args": [
                "--conf", "D:/xxx/config"
            ],                   // 可以在这里传递命令行参数
            "showLog": true,                    // 设置是否显示日志
        }
    ]
}

相关文章:

  • ctf-web: xss 任意位置插入情况绕过 DOMPurify -- tpctf layout
  • Flutter 学习之旅 之 flutter 全屏背景图设置功能的简单实现
  • 1Panel 搭建DeepSeek-R1,开启AI自由新体验
  • Anaconda安装页面四个选项的作用
  • 【高级前端】为什么computed不起作用?有哪些使用computed 的禁忌?
  • Fiora聊天系统本地化部署:Docker搭建与远程在线聊天的实践指南
  • linux配置zabbix-agent
  • ODA模拟器实验系列之一:准备工作
  • 跟网型逆变器小干扰稳定性分析与控制策略优化simulink仿真模型和代码(包含完整仿真报告)
  • failed to load elasticsearch nodes
  • 体育赛事大数据分析:AI模型对足球大小球预测的精度优化
  • 如何用Docker容器化Java应用?Spring Boot实战指南
  • Python网络爬虫与数据采集实战——网络爬虫的基本流程
  • vue知识点(2)
  • 专访数势科技谭李:智能分析 Agent 打通数据平权的最后一公里
  • 简述计算机网络中的七层模型和四层模型
  • 基于jvisualvm的内存监控与远程连接配置指南
  • Android7上移植I2C-tools
  • 观成科技:​加密C2框架Platypus流量分析
  • git 基本常用操作,切换分支,合并分支
  • 营业执照如何办理/抚州seo外包
  • 网站需要兼容哪些浏览器/推广app平台有哪些
  • 物流公司网站开发与淘宝对接 在淘宝卖家中心显示物流信息/免费seo工具汇总
  • 有域名和主机怎么做网站/国家职业技能培训学校
  • 可编辑wordpress主题/长春关键词优化公司
  • behance是什么网站/厦门seo公司到1火星