有了配置C语言环境的经验,配置rust
简直不要太容易, … 直到面对cargo
以及代码调试.
如果0基础学习编程, 先别挑战boss, 还是先把C搞好.
我有大乘配置C工具链真经一卷,
可渡有缘人达成编码自由,
不堕地狱,
不入轮回,
不砸电脑,
不毁键盘,
汝可自此取之: C 语言编程核心突破
环境配置皆可免费查看,
配合2022-03-30 VsCode中使用clangd插件的各种设置 效果更佳.
这是配置rust环境的第一步, 没有C环境, 不行.
按上步配置完C工具链后, 你应该完成msys2资源管理系统安装以及VsCode的基本配置了,
打开msys64终端, 输入:
$ pacman -S mingw-w64-clang-x86_64-rust
安装即可.
打开Windows终端, 键入:
C:\Users\Lhb>rustc -V
看到类似, 根据版本不同略有变化
rustc 1.71.1 (eb26296b5 2023-08-03) (Rev2, Built by MSYS2 project)
就成功了.
这个比较难, 我摸索了半天搞定的:
先在你的C盘以外的盘中, 新建一个文件夹, 比如 learnRust
, 然后在菜单栏: 文件: 打开文件夹: 打开这个文件夹.
一般会有是否信任文件夹选项, 选择信任.
此时文件夹下空空如也, 没事, 咱们一步一步搞.
这个是rust官方推荐的语言辅助插件, 类似于Clangd
, 就是稍微有点慢, 毕竟rust
过于复杂.
如图, 在vscode
扩展选项卡搜索rust-analyzer
, 并安装.
这个是用于显示错误的插件, 如果是随手编写的代码, 可能得到满屏的红色警示.
安装方法, 如法炮制,
这个插件是所有语言通用, 看看C语言配合clang-tidy
的效果:
rust
效果更惊人, 自己去体会吧.
这个插件是用来编写cargo
的toml
配置文件的, 是的, 学习rust
你必须掌握cargo
, 类似C/C++
的make
, 至少能新建项目, 编译项目
如果你学习了C的VSCode环境配置, 这里就比较简单:
默认你已经安装了CodeLLDB
代码调试插件, 是的, 调试rust
也用lldb
或gdb
, rust
的编译需要C
, 代码调试的环境和C
一样, 如果偷懒没有建立C
环境, 一切都是白搭.
在运行和调试选项卡点击创建launch.json
这里有两个配置, 如果用cargo
, 就用第一个配置, 也就是CodeLLDB
的基本配置, 它会在项目文件夹的下的\target\debug\
文件目录中创建可运行文件.
如果想像C语言似的简单编译, 看第二个配置, 它需要配合tasks.json
.
当然, 如果想比较顺利的debug
, 还需要做cargo.toml
的文件目录调整, 这个看下面cargo.toml
设置.
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Cargo launch",
"cargo": {
"args": [
"build",
]
},
},
{
"type": "lldb",
"request": "launch",
"name": "Launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "rustBuild"
},
]
}
为了像C一样进行简易编译, 我们需要建立tasks.json
文件.
菜单栏: 终端: 配置任务:
选择图中所示:
做一些更改:
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "process",
"command": "rustc",
"args": [
"-g",
"${fileDirname}\\${fileBasename}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
],
"problemMatcher": [
"$rustc"
],
"group": "build",
"label": "rustBuild",
}
]
}
这个稍微有点难, 我也是琢磨了半天才整明白:
新建终端: 快捷键 ctrl + shift + `,
注意这个 ` 是大键盘数字1左侧的那个按键.
输入命令:
E:\learnRust>cargo init
成功会显示
Created binary (application) package
然后你的文件夹下就多了几个文件:
这一步很重要, 将main.rs
从src
文件夹移动到外层的learnRust
文件夹, 更改名字, 比如Learn_01.rs
, 删除src
文件夹.
这步关系到是否可以顺利调试, 切记.
之后就是打开 Cargo.toml
文件, 进行编辑
Cargo.toml
[package]
name = "learnRust"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[[bin]]
name = "learnRust"
path = "E:/learnRust/Learn_01.rs"
注意: path = "E:/learnRust/Learn_01.rs"
中的文件名, 要根据你建立的文件名随时更改, 否则无法正确编译.
如果你按以上步骤配置完成, 那么限制的文件布局是:
现在就可以打开Learn_01.rs
文件, 愉快的编码了.
传统项目, hello, world
, 点击F5, 进行调试:
恭喜你, 迈入打 BOSS 的第一步, study made you happy!
以上就是rust
编译工具链的建立, 如有问题, 可以在评论区讨论.