使用 VSCode 调试 Zig
首要条件是你本地需要安装MinGW-w64.
可以参考MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 - jack_Meng - 博客园 (cnblogs.com)
这里有几点需要注意,在2024年9月时,我没有找exe的安装,你需要在github下载 Releases · niXman/mingw-builds-binaries (github.com)
具体下载的内容,可以参考上面博客中的选择x86_64_win32_seh_什么的,我就直接是下载的
其次条件是将zig 开发环境的包中的exe添加到path中,这一步我觉得应该是不会有什么太大问题。
最后条件是配置launch.json和tasks.json, 学习的话,我推荐第二种
第一种 使用通过zig init创建的形式
launch.json如下
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(Windows) 启动", "type": "cppvsdbg", "request": "launch", "program": "${workspaceFolder}\\zig-out\\bin\\你的程序的名字.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}\\zig-out\\bin", "symbolSearchPath": "${workspaceFolder}\\zig-out\\bin", "environment": [], "externalConsole": false, "logging": { "moduleLoad": false }, "preLaunchTask": "build" } ] }
tasks.json如下
{ "version": "2.0.0", "tasks":[ { "label": "build", "type": "shell", "command": "zig build" } ] }
第二种单文件创建的形式
也就是你直接创建一个*.zig 文件 比如hello.zig
那么你的launch.json
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "singleDebug", "type": "cppvsdbg", "request": "launch", "program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}\\", "symbolSearchPath": "${workspaceFolder}\\", "environment": [], "externalConsole": false, "logging": { "moduleLoad": false }, "preLaunchTask": "singleItemBuild" } ] }
tasks.json是
{ "version": "2.0.0", "tasks":[ { "label": "singleItemBuild", "type": "shell", "command": "zig build-exe ${fileBasenameNoExtension}.zig" } ] }
最终就可以调试了
最后说的 目前还在学习中,有更好的办法会持续更新。