美文网首页
Rust的开发环境与工具

Rust的开发环境与工具

作者: 端碗吹水 | 来源:发表于2022-06-08 15:38 被阅读0次

    [TOC]

    Rust的开发环境与工具


    开发环境安装

    无论使用何种系统, 均可以根据 Rust 官方网站提供的 rustup-init 工具完成 Rust 的安装. rustup-init 下载地址:

    https://www.rust-lang.org/zh-CN/tools/install.

    网站会自动识别你的操作系统并给出提示, 遵循网站提示一步一步执行即可.

    当安装完成后, 可使用以下命令进行测试, 如果正确输出版本号则表明安装已经成功.

    $ rustc --version
    
    • Tips:如果你使用的是 Linux 系统, 那么在 rustup-init 运行完成后它会在命令行中提示你将软件安装目录加入 PATH 环境变量中. 对于 Windows 系统来说不需要这一步.

    开发工具

    使用 vscode 并配置 rust-analyzer 插件在目前看来是一个比较好的选择.

    1. 安装 vscode
    2. 在 vscode 的插件市场中, 安装 rust-analyzer 插件

    rust-analyzer 包含代码提示, 代码检查, 自动补全等多种功能. 你可能会注意到在插件市场中存在一个标了小星星的名字就叫 Rust 的插件, 它的下载量与安装量都远远高于 rust-analyzer, 那么为什么不选择使用它呢? 因为这个排名第一的 Rust 插件底层使用的是名为 rls 的 Rust 前端, 由于 rls 本身性能过于捉急, 在 2020 年的时候社区推出了 rust-analyzer 项目并旨在全面替换掉 rls. 在体验上, rust-analyzer 要远远好于 rls.


    Hello World

    Cargo 是 Rust 默认的项目管理工具, 它几乎会贯穿你的整个 Rust 开发周期, 包括项目的创建, 引入第三方库, 编译, 测试和运行等. 使用如下命令可以创建一个新的 Rust 工程,rust-learn为工程名称:

    $ cargo new rust-learn
    
    • Cargo 默认会携带 --bin 参数, 这意味着该项目是一个二进制程序. 如果要创建一个库, 我们需要传递 --lib.

    生成的项目目录结构如下:

    .
    ├── Cargo.toml
    └── src
        └── main.rs
    
    • Cargo.toml 是项目的描述文件, 它里面保存了项目的依赖库, 项目的名称, 版本号等信息
    • src 是源码目录
    • src/main.rs 是项目的入口点

    Cargo.toml的内容:

    [package]
    name = "rust-learn"  # 项目名称
    version = "0.1.0"    # 版本号
    edition = "2018"     # 最新的rust edition版本,即语法稳定版本
    
    # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
    # 依赖声明
    [dependencies]
    

    main.rs的内容:

    fn main() {
        println!("Hello, world!");
    }
    

    使用如下命令可以编译并运行项目:

    $ cd rust-learn
    $ cargo run
    
       Compiling rust-learn v0.1.0 (W:\WorkSpace\Rust\rust-learn)
        Finished dev [unoptimized + debuginfo] target(s) in 0.79s
         Running `target\debug\rust-learn.exe`
    Hello, world!
    

    Cargo 里面有许多有用的命令, 一些常用的命令包括:

    • cargo new 生成新的项目模板
    • cargo build 构建项目, 生成可执行文件或依赖
    • cargo run 构建并运行项目
    • cargo test 运行测试用例
    • cargo check 检查项目代码, 由于 Rust 编译较慢, 因此在开发中常用 check 代替 build 命令
    • cargo doc 生成项目文档
    • cargo publish 将库发布到 crates.io

    除了以上 cargo 自带的命令外, cargo 还支持安装额外的扩展命令, 例如格式化工具. rustfmt 是一个可以自定义风格的 rust 代码格式化工具, 使用如下命令安装它:

    $ rustup component add rustfmt
    

    在项目根目录输入以下命令, 会自动格式化项目内的全部 Rust 源文件:

    $ cargo fmt
    

    由于某些众所周知的原因,一般我们还需要配置一下 cargo 的国内镜像源。找到 $HOME/.cargo 目录,如果该目录下存在 config 文件则修改,否则创建 config 文件,文件内容如下:

    [source.crates-io]
    registry = "https://github.com/rust-lang/crates.io-index"
    # 指定镜像
    replace-with = 'sjtu' # 如:tuna、sjtu、ustc,或者 rustcc
    
    # 注:以下源配置一个即可,无需全部
    
    # 中国科学技术大学
    [source.ustc]
    registry = "https://mirrors.ustc.edu.cn/crates.io-index"
    
    # 上海交通大学
    [source.sjtu]
    registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"
    
    # 清华大学
    [source.tuna]
    registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
    
    # rustcc社区
    [source.rustcc]
    registry = "https://code.aliyun.com/rustcc/crates.io-index.git"
    

    相关文章

      网友评论

          本文标题:Rust的开发环境与工具

          本文链接:https://www.haomeiwen.com/subject/ktmumrtx.html