Cargo 教程
Cargo 是什么
Cargo
是 Rust
的构建系统和包管理器。
Rust
开发者常用 Cargo
来管理 Rust
工程和获取工程所依赖的库。在上个教程中我们曾使用 cargo new greeting
命令创建了一个名为 greeting
的工程,Cargo
新建了一个名为 greeting
的文件夹并在里面部署了一个 Rust
工程最典型的文件结构。这个 greeting 文件夹就是工程本身。
Cargo 功能
作为rust
的代码组织管理工具,cargo
提供了一系列的工具,从项目的建立、构建到测试、运行直至部署,为rust
项目的管理提供尽可能完整的手段。同时,与rust
语言及其编译器rust
本身的各种特性紧密结合。
cargo build cargo run
Cargo
还具有获取包、打包、高级构建等功能,详细使用方法参见 Cargo
命令。
在 VSCode 中配置 Rust 工程
Cargo
是一个不错的构建工具,如果使 VSCode
与它相配合那么 VSCode
将会是一个十分便捷的开发环境。
在上一章中我们建立了 greeting
工程,现在我们用 VSCode
打开 greeting
文件夹(注意不是 w3cschool-greeting)。
打开 greeting 之后,在里面新建一个新的文件夹 .vscode
(注意 vscode
前面的点,如果有这个文件夹就不需要新建了)。在新建的 .vscode
文件夹里新建两个文件 tasks.json
和 launch.json
,文件内容如下:
tasks.json 文件
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command":"cargo",
"args": ["build"]
}
]
}
launch.json 文件(适用在 Windows 系统上)
{
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) 启动",
"preLaunchTask": "build",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false
},
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "这里填GDB所在的目录",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
launch.json 文件(适用在 Linux 系统上)
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "gdb",
"preLaunchTask": "build",
"request": "launch",
"target": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",
"cwd": "${workspaceFolder}"
}
]
}
launch.json 文件(适用在 Mac OS 系统上)
{
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb"
}
]
}
然后点击 VSCode
左栏的 "运行"。
如果你使用的是 MSVC
选择 "( Windows ) 启动"。
如果使用的是 MinGW
且安装了 GDB
选择"(gdb)启动",gdb 启动前请注意填写 launch.json
中的 "miDebuggerPath
"。
程序就会开始调试运行了。运行输出将出现在"调试控制台"中:
在 VSCode 中调试 Rust
调试程序的方法与其它环境相似,只需要在行号的左侧点击红点就可以设置断点,在运行中遇到断点会暂停,以供开发者监视实时变量的值。