Blog Entry
Zig+VsCode的windows开发环境
Zig+VsCode的windows开发环境
- Created
- 2023/07/26
- Updated
- 2023/07/26
环境
- Windows 10
- VsCode 1.80.1
- zig 0.11.0-dev.4229+f1bd59876
安装
zig
scoop install zig-devzig version# 0.11.0-dev.4229+f1bd59876VsCode
scoop install vscodecode -v# 1.80.1# 74f6148eb9ea00507ec113ec51c489d6ffb4b771# x64VsCode插件
zls
理论上应该使用跟zig版本相符的zls,这里偷懒就直接使用Zig Language插件提示安装的版本了。
调试
建立测试项目
mkdir hellocd hellozig init-execode .调试
在VsCode中按下Ctrl+Shift+D打开调试页面,随意新建一个配置,会新建一个文件.vscode/launch.json,替换文件内容为:
{ "version": "0.2.0", "configurations": [ { "name": "Zig Launch (Windows)", "type": "cppvsdbg", "request": "launch", "program": "${workspaceFolder}/zig-out/bin/hello.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [] } ]}打开main.zig,如果不能下断点,就勾选上VsCode的配置项Debug: Allow Breakpoints Everywhere

手动编译一下项目:
zig build随意下个断点,F5启动,应该可以了。

前置编译
每次调试前都要手动编译是挺呆的,作如下调整:
Ctrl+Shift+P -> Task: Configure Task -> Create task.json fromtemplate -> Other,然后修改.vscode/tasks.json的内容为:
{ "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "zig build", "group": "build", "problemMatcher": [ "$gcc" ] } ]}再修改.vscode/launch.json为:
{ "version": "0.2.0", "configurations": [ { "name": "Zig Launch (Windows)", "type": "cppvsdbg", "request": "launch", "program": "${workspaceFolder}/zig-out/bin/hello.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "preLaunchTask": "build" // 前置编译 } ]}再次F5启动,就会先行编译了。