文章目录
- 0 引入
- 1、Cargo 是什么
- 2、常用Cargo指令
- 3、VScode配置Rust环境
- 3.1.tasks.json
- 3.2.launch.json
- 4、总结
0 引入
上一节我们谈了在编译工程的时候用到Cargo(卡狗)
1、Cargo 是什么
Cargo 是 Rust 的构建系统和包管理器。
- Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。
- 在上个教程中我们曾使用 cargo new greeting 命令创建了一个名为 greeting 的工程,Cargo 新建了一个名为
test的文件夹并在里面部署了一个 Rust 工程最典型的文件结构。这个 test文件夹就是工程本身。 - Cargo 还具有获取包、打包、高级构建等功能,详细使用方法参见 Cargo 命令。
2、常用Cargo指令
指令 | 说明 |
---|---|
cargo bulid | 编译工程 |
cargo run | 运行工程 |
cargo clippy | :类似eslint,lint工具检查代码可以优化的地方 |
cargo fmt | 类似go fmt,代码格式化 |
cargo tree | 查看第三方库的版本和依赖关系 |
cargo bench: | 运行benchmark(基准测试,性能测试) |
cargo udeps(第三方) | 检查项目中未使用的依赖 |
cargo clean | 删除工程中间文件 |
3、VScode配置Rust环境
- Cargo 是一个不错的构建工具,如果使 VSCode 与它相配合那么 VSCode 将会是一个十分便捷的开发环境。
- 在上一章中我们建立了 test工程,现在我们用 VSCode 打开 test文件夹(注意不是 runoob-test)。
- 打开 test之后,在里面新建一个新的文件夹 .vscode (注意 vscode 前面的点,如果有这个文件夹就不需要新建了)。在新建的.vscode 文件夹里新建两个文件 tasks.json 和 launch.json,文件内容如下;
- 然后点击 VSCode 左栏的 “运行”。
如果你使用的是 MSVC 选择 “(Windows) 启动”。
如果使用的是 MinGW 且安装了 GDB 选择"(gdb)启动",gdb 启动前请注意填写 launch.json 中的 “miDebuggerPath”。
这样就可以断点去执行每一步程序了,很方便。
3.1.tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command":"cargo",
"args": ["build"]
}
]
}
3.2.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
}
]
}
]
4、总结
cargo这个工具很有用,在其他如linux或者Mac系统中都有相应的例子,这里做过多描述。