Win环境下,使用VS Code配置Go开发环境并编写menu项目
使用Golang
编写menu
项目,创建一个版本库,采用VSCode
作为编译调试环境。记录从创建版本库、配置VSCode
编译调试环境、编写menu
第一版简单程序,以及最终调试运行,提供一个Go+VSCode
的开发环境配置与工作流程的参考。
开发环境准备
Go安装
官网下载安装
Windows
版安装文件并安装-
在命令行中输入
go version
显示版本信息表示安装成功
VS Code环境准备
- 在插件中搜索
Go
并安装插件
创建GitHub版本库
- 创建新的
repository
- 将仓库克隆到本地文件夹
编写menu
第一版程序
使用
go mod init menu
初始化目录新建
menu.go
文件,编写代码,运行前VSCode
会提示安装Go
相关工具,直接install all
就完事了嗷1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47package main
import (
"fmt"
"os"
)
// dlv debug --headless --listen=:2345
func main() {
var cmdline string
fmt.Println("WelCome to The Machine")
fmt.Println("#*********# Go_MENU v0.1 #*********#")
fmt.Println("help: User Manual || list: List Page")
fmt.Println("setup: Setup Page || quit: QUIT")
fmt.Println("And some hidden words")
fmt.Println("####################################")
for true {
fmt.Println("\n#*********# Go_MENU v0.1 #*********#")
fmt.Scan(&cmdline)
switch cmdline {
case "help":
fmt.Println("How can I help you?")
break
case "list":
fmt.Println("Hurry up to make your choise!")
break
case "setup":
fmt.Println("Watch up where you going")
break
case "quit":
fmt.Println("OK OK I'm done.")
os.Exit(0)
case "canyouhearme":
fmt.Println("Hell yes")
break
case "nut":
fmt.Println("I could be bounded in a nutshell and count myself a king of infinite space.")
fmt.Println("https://github.com/phantomT/T-Shell")
break
default:
fmt.Println("HAHA, VERY FUNNY, DO THAT AGAIN")
}
}
}由于调试控制台中无法直接获取输入,因此需要使用“远程调试”方法,使用
dlv --headless
模式监听端口,在终端中进行调试,建立VSCode
调试配置launch.json
,注:默认创建的配置中,debugAdapter
是不配置的,不配置时默认值为legacy
,此时运行会报错而且无法进行调试。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Connect to server",
"type": "go",
"request": "attach",
"debugAdapter": "dlv-dap",
"mode": "remote",
"remotePath": "${workspaceFolder}",
"port": 2345,
"host": "127.0.0.1"
}
]
}并在调试前使用终端输入
dlv debug --headless --listen=:2345
,开启监听运行程序
上传同步
- 使用
git add . && git commit -m "build env demo" && git push
上传文件至远程仓库 - 可以看到远程仓库已经更新了
作者:406