Rust开发环境最佳设置

838次阅读  |  发布于1年以前

在这篇文章中,我们以VSCode作为Rust开发的IDE。VSCode 是我的首选,因为它可以在所有主流操作系统上使用,并且具有高度可配置性。

在本文中,会涉及到以下内容:

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'

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

持续集成

现在让我们看一下如何设置与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。一般包含几个步骤的作业。

如果我们的项目依赖包含任何已知的漏洞,那么构建将失败

至此,Rust开发环境的最佳设置已经完成了,希望对你有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8