feat(devcontainer): 优化 Go 开发容器配置并预装 VS Code Server - 使用 ghcr.io/devcontainers/base:ubuntu 基础镜像并通过 Dev Containers Feature 安装 Go 1.25 - 在 Dockerfile 中预装 VS Code Server 避免运行时下载卡顿,支持 ARM64/AMD64 架构 - 自动安装 dlv 调试工具并配置 vscode 用户权限 - 更新 README 文档说明备用本地 Dockerfile 方案和预装 VS Code Server 选项 ```
2.0 KiB
2.0 KiB
使用 Dev Container 开发 demo 工程
此目录下的 demo/ 是一个 Go 工程。已提供 VS Code Dev Container 配置,支持在容器内进行开发与调试。
快速开始
- 前置:本地安装 VS Code 与 Dev Containers 扩展(Microsoft 提供)。
- 打开文件夹:在 VS Code 中打开
day01/devcontainer目录。 - 重新在容器中打开:命令面板运行 “Dev Containers: Reopen in Container”。
- 首次启动会执行依赖下载:
postCreateCommand会在demo/下执行go mod download。 - 当前使用
ghcr.io/devcontainers/base:ubuntu基础镜像,并通过 Dev Containers Feature 安装 Go(1.25)。若网络再遇阻,可切换到本地 Dockerfile 方案作为备用。
容器内开发
- 代码位置:
/workspaces/<当前打开的文件夹>/demo。 - 常用操作:
- 运行:在容器终端进入
demo/目录后执行go run main.go - 构建:
go build - 测试:
go test ./...
- 运行:在容器终端进入
- 已安装:Go 工具链与 VS Code Go 扩展;保存时自动格式化与常用 lint 设置。
调试
- 已自动安装 Delve(
dlv)。 - VS Code 已提供调试配置:day01/devcontainer/.vscode/launch.json
- 直接在 “Run and Debug” 视图选择 “Debug demo/main.go” 或 “Debug demo tests”。
- 断点与变量查看可在容器内正常使用。
预装 VS Code Server(可选,避免下载卡顿)
- 如需避免容器运行时下载 VS Code Server,可切换到本地 Dockerfile 方案并在构建期预装 Server(见 day01/devcontainer/.devcontainer/Dockerfile)。
- 也可以在宿主机下载后手动注入到容器:将 server 包复制到
~/.vscode-server/bin/<commit>目录。
备注
- 如需额外工具(如
golangci-lint的安装或dlv调试器),可在.devcontainer/Dockerfile或postCreateCommand中添加。
devcontainer demo 工程
针对简单场景: 直接用 git bash 做完 vscode的命令工具 来使用