目标
我没有使用过Rust,但我听说它是一个可靠的语言,可以保证内存安全和线程安全。我对此很有兴趣,就想试一试这个语言。
在官网上有介绍他们所推荐的编辑器:
我将选择 Visual Studio Code (关于 【Visual Studio】和【Visual Studio Code】的区别:【VS】是完整的集成开发环境,而【VSCode】只算的上是一个相对轻量级的文本编辑器,并附带一些便捷的功能)
本篇的步骤主要参考了 《Rust 环境搭建 | 菜鸟教程》
Rustup:Rust安装器和版本管理工具
安装 Rust 的主要方式是通过 Rustup 这一工具,它既是一个 Rust 安装器又是一个版本管理工具。
步骤1. 安装 Rustup
从官网上下载Rustup,运行rustup-init.exe
:
(教程指出:Rust 的编译工具依赖 C 语言的编译工具,这意味着需要至少已经存在一个 C 语言的编译环境。我的机器上有 VS2019,所以不需要再做其他事情。)命令行这里,可以输入“1”并回车。
随后,等待一段时间后,安装完成:
正如命令行所提示,设置环境变量:
在我的机子上,是C:\Users\admin\.cargo\bin
(如果不确定,可以搜索.cargo
文件夹)如果安装没问题,则可以在Cmd中执行rustc -V
命令,此命令查询版本:
也可查询cargo的版本:
步骤2. 搭建 Visual Studio Code 的 Rust 开发环境
2.1 安装 Visual Studio Code
在官网上下载
2.2 安装扩展
点击左侧的Extensions
搜索并安装rls
和Native Debug
以及C/C++
随后可能需要重启下 VSCode
2.3 尝试建立一个rust工程
新建一个文件夹,比如“TestGreeting”
VSCode中选择Open Folder,打开刚才新建的文件夹
随后选择New Terminal
这将打开控制台:
在控制台中输入
cargo new greeting
可以看到它在这个文件夹中新建了一个名叫greeting
的工程
其中greeting/src/main.rs
的内容如下:
fn main() {
println!("Hello, world!");
}
下面,在控制台中输入
cd ./greeting
cargo build
cargo run
这将会编译并运行程序:
可以看到在控制台中输出了“Hello, world!”
Cargo:Rust 的构建工具和包管理器
安装 Rustup 时,也会安装 Rust 构建工具和包管理器,即 Cargo。Cargo 可以做很多事情:
-
cargo build
可以构建项目 -
cargo run
可以运行项目 -
cargo test
可以测试项目 -
cargo doc
可以为项目构建文档 -
cargo publish
可以将库发布到 crates.io。
详见 Cargo手册
步骤3. 配置 Visual Studio Code 的 Cargo 命令
其实在【步骤2】中,已经使用Cargo来进行“build(构建)”和“run(运行)”了。不过每次都敲命令行比较麻烦,最好是能在VSCode的界面上一键执行:
下面,在greeting
目录下创建.vscode
文件夹:
然后在其中创建两个json文件:
tasks.json
:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command":"cargo",
"args": ["build"]
}
]
}
launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) 启动Rust",
"preLaunchTask": "build",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false
}
]
}
然后,再选择Open Folder,不过这次需要选择“greeting”文件夹,而不是之前的“TestGreeting”
左侧的目录层级应该如下:
左侧选择“Run”,然后选择刚才配置好的 (Windows) 启动Rust :
然后选择 Run Without Debugging
即可在控制台中看到“Hello, world!”了