简介
对于程序员来说,最重要的工具之一代码编辑器,一个好用的开发环境能编程过程无比顺畅丝滑,尤其是在学习Zig 这样的新编程语言时。而Visual Studio Code 开发环境就提供了最简单的设置,可以快速获得代码自动补全和代码生成等功能。
安装Visual Studio Code
从 Microsoft官网 下载 Visual Studio Code(VSCode)。
安装Zig(非必须,也可让vs code帮助安装)
从 Zig官网下载 Zig 0.13.0,参考官方安装指南直接安装。
在终端输入zig version,返回0.13.0即为安装成功!
bash
>zig version
0.13.0
安装Visual Studio Code 扩展
VSCode优势就是拥有大量的扩展,而且安装和维护最新的扩展非常简单和友好。
安装Zig Language扩展(vscode-zig):安装 Zig Language 扩展后,会有两个提示:
- 提示你是使用已安装的zig,还是安装一个zig。所以上步安装Zig不是必须的,而这里我们使用环境path中的,也就是上面安装的zig。
- 提示你是使用已安装的zls,还是安装一个zls。这里我们安装一个zls。
这两项设置,也可以在Zig Language页面,点击设置图标,进入扩展设置。然后设置Zig路径和zls路径。
至此,实现了Zig高亮和代码自动补全功能。
安装配置调试环境
在 VSCode中调试 Zig 程序,不同的操作系统需要安装不同VSCode扩展。
- 在Windows中,需要安装 C/C++ 扩展 ( ms-vscode.cpptools )。
在VSCode"运行=>添加配置"中添加一个 *C/C++*启动配置: 即配置.vscode/launch.json:
javascript
{
// 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) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/zig-out/bin/<your-project-name>.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}\\zig-out\\bin",
"environment": [],
"console": "integratedTerminal",
"preLaunchTask": "build"
}
]
}
接下来配置构建任务,按下 Ctrl + Shift + p,搜索 "task:Configure Default Build Task(配置默认构建任务)",选中它并按照提示操作,直到创建了一个 tasks.json 文件。你需要创建一个 "build "任务,该任务基本上是运行 zig 编译,其中包含你需要的任何参数。这个任务名build与上面中的"preLaunchTask": "build"一致。配置.vscode/tasks.json
javascript
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "zig build",
}
]
}
在launch.json中的 preLaunchTask 字段中使用build这个任务名称。
- 在Linux和MacOS中,需要安装CodeLLDB扩展。
与windows中的安装配置类似。
.vscode/launch.json
javascript
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "main debug",
"program": "${workspaceFolder}/zig-out/bin/<your-project-name>",
"args": [],
"cwd": "${workspaceFolder}/zig-out/bin",
"preLaunchTask": "zig build"
},
]
}
.vscode/tasks.json
javascript
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "zig build",
}
]
}
现在开始运行调试,断点、变量等特性都没有问题。