使用vscode调试wails项目(golang桌面GUI)
文章目录
- 安装 Golang 环境
- 安装 NPM
- 安装 VSCode
- 安装 Go 插件
- 安装 Go 插件依赖工具
- 安装 Wails
- 系统检查
- 准备项目
- 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 将检查您是否安装了正确的依赖项。 如果没有,它会就缺少的内容提供建议以帮助纠正问题。
准备项目
# 下载项目
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 配置安装和构建步骤
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
集成开发环境
相关文章:
使用vscode调试wails项目(golang桌面GUI)
文章目录 安装 Golang 环境安装 NPM安装 VSCode安装 Go 插件安装 Go 插件依赖工具安装 Wails系统检查 准备项目Visual Studio Code 配置安装和构建步骤参考资料 安装 Golang 环境 访问 golang 官网下载环境安装包:https://go.dev/dl/ 安装 NPM 从 Node 下载页面 …...
Java中注解与反射的详细介绍
注解和反射 一、注解 什么是注解?Annotation Override :表示一个方法声明打算重写超类的另一个方法声明Deprecated:表示不鼓励程序员使用这样的元素,(此注释可以用于修饰方法,属性,类…...
Redis 过期时间删除策略详解
在使用 Redis 时,设置键的过期时间是一项非常有用的功能。它可以帮助我们自动清理不再需要的数据,节省内存空间。那么,Redis 是如何处理这些带有过期时间的键呢?这就涉及到 Redis 的过期时间删除策略。 一、Redis 过期键的判定 R…...
C语言_内存函数
内存函数是 C 标准库中的一组函数,用于管理和操作内存。使用时需要包含头文件<string.h>。 1. memcpy的使用和模拟实现 函数形式如下: void* memcpy(void* destination, const void* source, size_tnum);函数解析和注意事项: memcp…...
基于s32ds平台指定变量储存位置
开启一段ram空间 打开ld文件 配置一段ram空间 开辟一个段 .shareable_data1 : {. ALIGN(4);KEEP(*(.mcal_shared_data1)) . ALIGN(4);} > int_sram_shareable1定义一个变量并将变量指定在段中 volatile uint32 u32SbcmGenState __attribute__((section (".mcal_s…...
什么是快充协议、支持多协议的USB Type-C受电端取电芯片
随着快充技术的不断发展,传统的慢充模式已经满足不了消费者对充电效率的要求。有了快充技术的支持很大程度的缩短了我们的充电时间,给我们的生活带来了很多便利。 什么是快充协议 快充协议是快充技术的核心,现如今市面上已经有很多种快充协议…...
在Vue CLI项目中使用ECharts:详细指南
在Vue CLI项目中使用ECharts:详细指南 ECharts 是一款由百度开源的数据可视化图表库,它提供了丰富的图表类型和高度的可定制性。在Vue CLI项目中集成ECharts,可以帮助我们快速地将数据以图形的方式展示给用户。以下是在Vue CLI项目中使用ECh…...
第二阶段:mysql(学完就隐藏版)
第一章:部署数据库系统(注意关闭防火墙,selinux安装) 安装mysql配置的相关文件:yum install https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm(centos9:yum install http…...
Spring Cloud微服务
引言 在过去的几十年中,软件架构的发展经历了从单体应用到微服务的演变。微服务架构是一种将应用程序分解为小的、独立的服务的方法,每个服务可以独立地部署和扩展。Spring Cloud为开发和部署基于Spring的微服务提供了一系列的工具和框架,使…...
后端复习资料
后端面试资料 语雀-图灵面试题 语雀-javaGuide 小林coding:https://www.xiaolincoding.com/ 面试鸭: https://www.mianshiya.com/ codehot香菜哥:https://codehot.cn/markdown/welfare 面试题: vizard自行整理 牛客Golang社招面…...
C++和OpenGL实现3D游戏编程【连载14】——VBO、VAO和EBO应用
🔥C和OpenGL实现3D游戏编程【目录】 1、本节实现的内容 我们从一开始学OpenGL到现在,OpenGL的图形绘图必须在glBegin()和glEnd()函数之间完成,在此基础之上,才能进行后续操作功能。但是我们今天要讨论一下OpenGL图形绘制的模式&a…...
AI + 智能互助平台(一点杂想)
随着人工智能的火爆,各种AI产品的兴起,我发现在解决人们日常需求的AI工具还是比较少的,还是比较依赖上一代的搜索功能。 是不是可以有这样的一款产品,需求方在平台上发布需求,提供方在平台上发布能力,AI自动…...
其他浏览器可以联网,但edge不能联网
问题描述: 今早edge无法上网,检测网络连接正常,而且其他chrome,Firefox和360浏览器都可以上网。 解决方案: 注意:为防止是代理问题,可以在扩展中禁用后再试试 如果没有代理或者禁用代理也不…...
Redis 缓存淘汰策略:LRU 和 LFU 的缺点及解决方案详解
引言 Redis 是一款高性能的内存数据库,它的缓存淘汰机制是保障内存使用效率和应用性能的关键。为了在内存有限的情况下保证缓存数据的有效性,Redis 提供了多种缓存淘汰策略,其中 LRU(Least Recently Used,最近最少使用…...
软件工程pipeline梳理
文章目录 软件工程pipeline梳理为什么需要梳理软件工程的pipeline软件工程pipeline的概念与注意点软件工程pipeline中的最大挑战rethink相关资料 软件工程pipeline梳理 为什么需要梳理软件工程的pipeline 反思自己日常工作中的认知和行为。以算法/软件工程师为代表的技术工种往…...
npm运行时出现npm ERR! builtins is not a function报错!
项目场景: 项目运行时什么都没动都没改突然运行不起来了,报错 TypeError: builtins is not a function 代码什么都没动,不是代码问题,排查后只有可能是node和npm的问题,所以卸载掉node重装重启 解决方案: …...
2024年软件设计师中级(软考中级)详细笔记【5】软件工程基础知识上(分值10+)
第5章软件工程 目录 前言第5章 软件工程基础知识(上)(分值10)5.1 软件工程概述5.1.4 软件过程 5.2 软件过程模型5.2.1 瀑布模型 (Waterfall Model)5.2.2 增量模型5.2.3 演化模型5.2.4 喷泉模型(Water Fountain Model&a…...
C++:vector(题目篇)
文章目录 前言一、只出现一次的数字二、只出现一次的数字 II三、只出现一次的数字 III四、杨辉三角五、删除有序数组中的重复项六、数组中出现次数超过一半的数字七、电话号码的字母组合总结 前言 今天我们一起来看vector相关的题目~ 一、只出现一次的数字 只出现一次的数字…...
JS 怎么监听复制事件 并获取复制内容 并修改复制文本内容
需求背景: 需要禁用部分文本内容的复制事件,并且在复制事件发生时,将复制的文本内容通过接口传给后端。 上代码: // 使用Dom获取需要操作禁用时间的元素let element: any document.getElementById(test1);// 为该元素添加 copy 事…...
安卓使用.9图实现阴影效果box-shadow: 0 2px 6px 1px rgba(0,0,0,0.08);
1.安卓实现阴影效果有很多种,一般UX设计会给以H5参数box-shadow: 0 2px 6px 1px rgba(0,0,0,0.08);这种方式提供背景阴影效果,这里记录一下实现过程 2.界面xml源码 <?xml version"1.0" encoding"utf-8"?> <layout xmlns…...
告别CentOS!Debian 11 + VMware 保姆级教程:搞定那些只支持国产系统的Linux客户端(以aTrust为例)
Debian 11 VMware 全栈解决方案:无缝运行国产Linux客户端软件 在开源世界的版图中,CentOS曾经是企业级Linux的代名词,但随着Red Hat战略调整和CentOS Stream的转型,许多传统解决方案正在面临前所未有的兼容性挑战。特别是在需要对…...
突破Windows资源管理器性能瓶颈:智能缩略图预加载解决方案
突破Windows资源管理器性能瓶颈:智能缩略图预加载解决方案 【免费下载链接】WinThumbsPreloader-V2 WinThumbsPreloader is a powerful open source tool for quickly preloading thumbnails in Windows Explorer. 项目地址: https://gitcode.com/gh_mirrors/wi/W…...
告别‘失联’服务器:利用校园网内网固定IP,通过SSH隧道实现无公网访问的服务器管理(WinSCP文件传输教程)
内网服务器高效管理:SSH隧道与WinSCP实战指南 在分布式办公和远程协作日益普及的今天,许多技术团队都面临着内网服务器管理的挑战。想象一下这样的场景:你的核心数据库服务器位于公司内网,没有公网IP;或者你的开发测试…...
TruckSim 仿真工作流实战:从参数修改到结果对比
1. TruckSim仿真工作流基础入门 第一次打开TruckSim时,很多新手会被复杂的界面吓到。其实只要掌握几个核心概念,就能快速上手这个强大的车辆动力学仿真工具。我刚开始使用时也走过不少弯路,现在把这些经验分享给大家。 TruckSim的工作流可以简…...
终极跨平台KVM解决方案:3分钟掌握Input Leap键盘鼠标共享
终极跨平台KVM解决方案:3分钟掌握Input Leap键盘鼠标共享 【免费下载链接】input-leap Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/in/input-leap 还在为多台电脑设备间频繁切换键盘鼠标而烦恼吗?Input Leap跨平台KVM软…...
Awesome-Dify-Workflow:重新定义AI工作流编排的模块化解决方案
Awesome-Dify-Workflow:重新定义AI工作流编排的模块化解决方案 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Aweso…...
3分钟掌握OBS智能跟拍:告别手动调焦的直播神器
3分钟掌握OBS智能跟拍:告别手动调焦的直播神器 【免费下载链接】obs-face-tracker Face tracking plugin for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-face-tracker 您是否曾因直播时频繁调整镜头位置而分心?是否希望有一个…...
研究生你的救星来了
为了找一个研究方向的核心文献,我要同时打开知网、Web of Science、IEEE Xplore三个数据库,翻几十篇顶刊摘要,还要手动整理每个文献的研究方法、核心结论,熬到凌晨两点,结果还是理不清整个领域的研究脉络。直到上个月朋…...
2025终极指南:如何用PyGlossary打破词典格式壁垒
2025终极指南:如何用PyGlossary打破词典格式壁垒 【免费下载链接】pyglossary A tool for converting dictionary files aka glossaries. Mainly to help use our offline glossaries in any Open Source dictionary we like on any operating system / device. 项…...
终极指南:如何快速免费挂机Steam游戏时长获取交易卡牌
终极指南:如何快速免费挂机Steam游戏时长获取交易卡牌 【免费下载链接】HourBoostr Two programs for idling Steam game hours and trading cards 项目地址: https://gitcode.com/gh_mirrors/ho/HourBoostr 还在为Steam交易卡牌掉落机制而烦恼吗?…...
