JSRUN 用代码说话

Cargo 教程

编辑教程

Cargo 教程

Cargo 是什么

Cargo 是 Rust 的构建系统和包管理器。

Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。在上个教程中我们曾使用 cargo new greeting 命令创建了一个名为 greeting 的工程,Cargo 新建了一个名为 greeting 的文件夹并在里面部署了一个 Rust 工程最典型的文件结构。这个 greeting 文件夹就是工程本身。

Cargo 功能

Cargo 除了创建工程以外还具备构建(build)工程、运行(run)工程等一系列功能,构建和运行分别对应以下命令:

  1. cargo build
  2. cargo run

Cargo 还具有获取包、打包、高级构建等功能,详细使用方法参见 Cargo 命令。

在 VSCode 中配置 Rust 工程

Cargo 是一个不错的构建工具,如果使 VSCode 与它相配合那么 VSCode 将会是一个十分便捷的开发环境。

在上一章中我们建立了 greeting 工程,现在我们用 VSCode 打开 greeting 文件夹(注意不是 w3cschool-greeting)。

打开 greeting 之后,在里面新建一个新的文件夹 .vscode (注意 vscode 前面的点,如果有这个文件夹就不需要新建了)。在新建的 .vscode 文件夹里新建两个文件 tasks.json 和 launch.json,文件内容如下:

tasks.json 文件

  1. {
  2. "version": "2.0.0",
  3. "tasks": [
  4. {
  5. "label": "build",
  6. "type": "shell",
  7. "command":"cargo",
  8. "args": ["build"]
  9. }
  10. ]
  11. }

launch.json 文件(适用在 Windows 系统上)

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "(Windows) 启动",
  6. "preLaunchTask": "build",
  7. "type": "cppvsdbg",
  8. "request": "launch",
  9. "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
  10. "args": [],
  11. "stopAtEntry": false,
  12. "cwd": "${workspaceFolder}",
  13. "environment": [],
  14. "externalConsole": false
  15. },
  16. {
  17. "name": "(gdb) 启动",
  18. "type": "cppdbg",
  19. "request": "launch",
  20. "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
  21. "args": [],
  22. "stopAtEntry": false,
  23. "cwd": "${workspaceFolder}",
  24. "environment": [],
  25. "externalConsole": false,
  26. "MIMode": "gdb",
  27. "miDebuggerPath": "这里填GDB所在的目录",
  28. "setupCommands": [
  29. {
  30. "description": "为 gdb 启用整齐打印",
  31. "text": "-enable-pretty-printing",
  32. "ignoreFailures": true
  33. }
  34. ]
  35. }
  36. ]
  37. }

launch.json 文件(适用在 Linux 系统上)

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "Debug",
  6. "type": "gdb",
  7. "preLaunchTask": "build",
  8. "request": "launch",
  9. "target": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",
  10. "cwd": "${workspaceFolder}"
  11. }
  12. ]
  13. }

launch.json 文件(适用在 Mac OS 系统上)

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "(lldb) 启动",
  6. "type": "cppdbg",
  7. "request": "launch",
  8. "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}",
  9. "args": [],
  10. "stopAtEntry": false,
  11. "cwd": "${workspaceFolder}",
  12. "environment": [],
  13. "externalConsole": false,
  14. "MIMode": "lldb"
  15. }
  16. ]
  17. }

然后点击 VSCode 左栏的 "运行"。

如果你使用的是 MSVC 选择 "(Windows) 启动"。

如果使用的是 MinGW 且安装了 GDB 选择"(gdb)启动",gdb 启动前请注意填写 launch.json 中的 "miDebuggerPath"。

程序就会开始调试运行了。运行输出将出现在"调试控制台"中:

在 VSCode 中调试 Rust

调试程序的方法与其它环境相似,只需要在行号的左侧点击红点就可以设置断点,在运行中遇到断点会暂停,以供开发者监视实时变量的值。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟