VScode上手Go开发| 豆包MarsCode AI 刷题

311 阅读3分钟

使用 VSCode 开发 Go 项目配置指南

本文介绍如何使用 VSCode 进行 Go 语言开发,包括必装插件、项目目录结构规划、环境变量设置,以及常见问题解决方法。🤝


必装插件

以下插件可以帮助提升开发效率:

1. 必装插件

  • Go:由微软官方发布,提供语法高亮、自动补全、代码导航、调试等功能。(这个很好找就不配图了😊
  • GitLens:增强 Git 功能,便于管理版本控制。

image.png

  • vscode-database:直接在 VSCode 中管理数据库(如 MySQL)。

image.png

2. 推荐插件

  • Prettier - Code Formatter:流行的代码格式化工具。

image.png

  • Error Lens:直观显示代码中的错误和警告信息。

image.png

  • Rest Client:用于在 VSCode 中发送 HTTP 请求,方便 API 测试。

image.png


项目目录结构😎

推荐的项目目录结构如下:

F:\
└── tiktok_e-commence\
    ├── cmd\              # 主应用程序入口
    │   └── main.go
    ├── pkg\              # 核心库代码
    │   ├── auth\         # 认证服务模块
    │   ├── user\         # 用户服务模块
    │   ├── product\      # 商品服务模块
    │   ├── cart\         # 购物车服务模块
    │   └── order\        # 订单服务模块
    ├── internal\         # 内部使用包
    ├── api\              # API 相关文件
    │   ├── proto\        # Protocol Buffers 文件
    │   └── docs\         # API 文档
    ├── config\           # 配置文件
    ├── scripts\          # 数据库迁移等脚本
    ├── web\              # 前端文件
    ├── tests\            # 测试文件
    ├── docs\             # 项目文档
    └── README.md         # 项目说明文件

如下图 image.png


在 Windows 上创建项目结构

  1. 打开 PowerShell。
  2. 使用以下命令创建目录结构:
    cd F:\
    mkdir tiktok_e-commence
    cd tiktok_e-commence
    mkdir cmd, pkg\auth, pkg\user, pkg\product, pkg\cart, pkg\order, internal, api\proto, api\docs, config, scripts, web, tests, docs
    
  3. 创建必要文件:
    New-Item -Path cmd -Name "main.go" -ItemType "File"
    New-Item -Path . -Name "README.md" -ItemType "File"
    

如下图

image.png


配置开发环境

1. 安装和配置 Go 插件

  • 打开 Go 文件时,VSCode 的 Go 插件会提示安装推荐工具,点击 Install All

2. 设置环境变量

  • 确保 GOPATHGOROOT 配置正确。
  • 可通过以下命令设置 Go 模块代理加速依赖下载:
    go env -w GOPROXY=https://goproxy.cn,direct
    

image.png

3. 初始化 Go 模块

  • 在项目目录下运行:
    go mod init tiktok_e-commence
    

image.png

4. 安装依赖

  • 运行以下命令安装常用依赖:
    go get -u github.com/cloudwego/hertz
    go get -u gorm.io/gorm
    go get -u gorm.io/driver/mysql
    

image.png


编写基础代码

cmd/main.go 中编写以下代码:

package main

import (
    "context"
    "github.com/cloudwego/hertz/pkg/app"
    "github.com/cloudwego/hertz/pkg/app/server"
    "github.com/cloudwego/hertz/pkg/protocol/consts"
)

func main() {
    h := server.Default()
    h.GET("/hello", func(ctx context.Context, c *app.RequestContext) {
        c.String(consts.StatusOK, "Hello hertz!")
    })
    h.Spin()
}

image.png

运行程序:

go run cmd/main.go

访问 http://localhost:8888/hello,应显示 "Hello hertz!"。

image.png

成功!😍 image.png


解决兼容性问题

对于 Go 版本不兼容的问题,可以考虑以下措施:

  1. 替换 JSON 处理库为 Go 标准库 encoding/json
  2. 修改 go.mod 文件,确保依赖版本正确。
  3. 更新依赖并清理模块:
    go mod tidy
    

示例代码(使用 encoding/json):

type Response struct {
    Message string `json:"message"`
}

func main() {
    h := server.Default()
    h.GET("/hello", func(ctx context.Context, c *app.RequestContext) {
        response := Response{Message: "Hello hertz!"}
        c.JSON(consts.StatusOK, response)
    })
    h.Spin()
}

总结

在本文中,我分享了如何使用 VSCode 配置并开发一个完整的 Go 项目。从选择和安装必要的插件,到项目目录结构的规划,再到环境变量的设置和依赖管理,每一个步骤都被详细地梳理和实践。我还解决了 Go 版本兼容性和依赖包下载的问题,通过替换 JSON 库和优化代码,确保项目能够在我的环境中顺利运行。最终,我成功构建并运行了一个基础的 HTTP 服务器,为后续开发打下了坚实的基础。