• 使用VS Code开发Rust最佳环境设置
  • 发布于 2个月前
  • 194 热度
    0 评论
在这篇文章中,我们以VSCode作为Rust开发的IDE。VSCode 是我的首选,因为它可以在所有主流操作系统上使用,并且具有高度可配置性。

在本文中,会涉及到以下内容:
1.安装6个VSCode扩展插件;
2.设置3个Cargo工具,用于配置自动检查、格式化和实时加载;
3.使用github action进行持续集成;

VSCode扩展插件
1,rust-analyzer
首先,是rust analyzer,它是rust的官方语言服务器,提供代码补全、跳转、嵌入提示等功能。

2,CodeLLDB
接下来是CodeLLDB这个扩展,它允许你调试rust代码。

3,Even Better TOML
接下来是Even Better TOML扩展,它为toml文件提供语法高亮显示。

4,Error Lens
Error Lens扩展,可以将错误和警告突出显示

示例代码如下:

正如你在这个示例中看到的,它将使错误更加突出,并在行中显示错误消息

5,Todo Tree
接下来是Todo Tree,它将帮助你快速找到代码中的to do项

6,crates
最后是crates扩展,它可以轻松检查Cargo.toml文件中的依赖项是否过期。

如果一个依赖项过期了,你会看到一个红色的X,后面跟着该依赖项的最新版本。示例如下:


配置Cargo工具
1,Clippy
Clippy是一个可配置的过滤器,可以捕获常见错误并改进rust代码。你可以通过在终端中手动运行clippy,但是更我喜欢配置为自动运行。在VSCode中打开Settings,在搜索栏中键入“rust-analyzer check”。然后向下滚动,直到看到check命令,然后将check更改为Clippy。

2,Rust format
要将rust format 配置为自动运行,我们将setting并切换为Json格式,然后加入以下配置:

3,cargo watch
接下来让我们看一下如何使用cargo watch设置实时加载,Cargo watch是一个Cargo插件,用于监视项目源文件中的更改。
在项目根目录下,运行如下命令安装cargo watch:
cargo add cargo-watch
然后运行以下命令来运行cargo watch:
cargo watch -q -c -w src/ -X 'run -q'
-q 代表安静,它会抑制cargo watch的输出
-c 将清除屏幕,
-w 允许我们指定要监视的文件和文件夹,在这个例子中,只监视src目录
-x 允许我们指定要执行的cargo命令,在本例中我们执行“cargo run -q”,如果我们执行这个命令,那么将阻止打印cargo日志消息。

然后,如果我们改变代码,它将自动被重新编译。

持续集成
现在让我们看一下如何设置与GitHub action的持续集成。为我们的项目设置持续集成,我们需要做的就是在根目录下,创建一个包含workflows文件夹的.gitHub文件夹,其中又包含定义workflows的yaml文件,如图:

这里有一个简单的workflows的例子,叫做rust-ci.yml,内容如下:
name: Rust CI

on: 
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Set up Rust
        uses: actions/checkout@v2
      - name: Install cargo-audit
        uses: cargo install cargo-audit
      - name: Build
        uses: cargo build --verbose
      - name: Test
        uses: cargo test --verbose
      - names: Clippy
        uses: cargo clippy --verbose -- -D warnings
      - names: Audit
        uses: cargo audit
当代码变更被推送到主分支,或者拉取请求指向主分支时,它就会运行这个workflows。一般包含几个步骤的作业。
1,首先,我们的代码被check out
2,然后,安装cargo-audit,这将允许我们审计代码库中的漏洞
3,构建并测试代码
4,运行cargo clippy,如果出现任何警告,则构建失败
5,最后,我们运行cargo audit,

如果我们的项目依赖包含任何已知的漏洞,那么构建将失败
至此,Rust开发环境的最佳设置已经完成了,希望对你有所帮助。
用户评论