使用vscode调试wails项目(golang桌面GUI)

文章目录

  • [安装 Golang 环境](#安装 Golang 环境)
  • [安装 NPM](#安装 NPM)
  • [安装 VSCode](#安装 VSCode)
  • [安装 Go 插件](#安装 Go 插件)
  • [安装 Go 插件依赖工具](#安装 Go 插件依赖工具)
  • [安装 Wails](#安装 Wails)
  • 准备项目
  • [Visual Studio Code 配置安装和构建步骤](#Visual Studio Code 配置安装和构建步骤)
  • 参考资料

安装 Golang 环境

访问 golang 官网下载环境安装包:https://go.dev/dl/

安装 NPM

Node 下载页面 下载 NPM。 最好使用最新版本,因为这是我们通常会测试的版本。

运行 npm --version 进行验证。

安装 VSCode

VsCode 的安装就更加容易,直接在官网下载软件包按照指引安装即可。

https://code.visualstudio.com/

安装 Go 插件

VSCode 的插件功能中输入 go 关键字,然后找到下图中的插件,并安装。

安装 Go 插件依赖工具

快捷键 Ctrl + Shift + p 打开命令面板,输入go install tools,选择第一项 Go: install/Update Tools

安装 Wails

运行 go install github.com/wailsapp/wails/v2/cmd/wails@latest 安装 Wails CLI。

系统检查

运行 wails doctor 将检查您是否安装了正确的依赖项。 如果没有,它会就缺少的内容提供建议以帮助纠正问题。

准备项目

bash 复制代码
# 下载项目
git clone https://github.com/obity/hiposter.git
# 进入项目目录
cd hiposter
# 进入项目前端目录
cd frontend
# 安装nodejs依赖
npm install
npm run dev
cd ..
go build -tags dev -gcflags "all=-N -l"
wails dev

Visual Studio Code 配置安装和构建步骤

bash 复制代码
mkdir .vscode && touch .vscode/launch.json && touch .vscode/tasks.json

lanuch.json

复制代码
{
    // 使用 IntellliSense 来了解可能的属性。
    // 悬停以查看现有属性的描述。
    // 更多详情访问:https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Wails: Debug myproject",
            "type": "go",
            "request": "launch",
            "mode": "exec",
            "program": "${workspaceFolder}/build/bin/myproject.exe",
            "preLaunchTask": "build",
            "cwd": "${workspaceFolder}",
            "env": {}
        }
    ]
}

文件tasks.json

复制代码
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "ui:install",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/frontend"
            },
            "presentation": {
                "clear": true,
                "panel": "shared",
                "showReuseMessage": false
            },
            "isBackground": true,
            "command": "pnpm",
            "args": [
                "install"
            ]
        },
        {
            "label": "ui:build",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/frontend"
            },
            "presentation": {
                "clear": true,
                "panel": "shared",
                "showReuseMessage": false
            },
            "isBackground": true,
            "command": "pnpm",
            "args": [
                "build"
            ]
        },
        {
            "label": "build",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "command": "go",
            "args": [
                "build",
                "-tags",
                "dev",
                "-gcflags",
                "all=-N -l",
                "-o",
                "build/bin/myproject.exe"
            ],
            "dependsOn": [
                "ui:install",
                "ui:build"
            ]
        }
    ]
}

vscode调试图片如下

参考资料

在 VS Code 中调试
vscode launchjson-attributes
使用 VSCode 开发 Golang 代码,并支持 debug断点调试
wails-v2-examples
wails 手动构建
vscode-go/wiki/debugging
集成开发环境

相关推荐
apocelipes3 小时前
下划线字段在golang结构体中的应用
golang
骑着毛驴数星星6 小时前
CANDB++中的CAN_DBC快速编辑方法,使用文本编辑器(如notepad++和VScode)
vscode·can
Python私教14 小时前
从“Hello World”到“高并发中间件”:Go 语言 2025 系统学习路线图
学习·中间件·golang
weixin_3077791315 小时前
VS Code配置MinGW64编译Ipopt库
开发语言·c++·vscode·算法
weixin_3077791317 小时前
VS Code配置MinGW64编译backward库
开发语言·c++·vscode·算法
QL.ql1 天前
vscode的ws环境,esp32s3连接wifi
ide·vscode·编辑器
光爷不秃1 天前
Go语言中安全停止Goroutine的三种方法及设计哲学
开发语言·安全·golang
Hyvial2 天前
VsCode 使用指南(配置 + 美化)
vscode
十秒耿直拆包选手2 天前
IDE:vscode的vue3模板
javascript·ide·vscode