Rust环境准备

Rust环境准备

安装Rust

安装有助于Rust开发的vscode插件

  • crates: Rust 包管理
  • Even Better TOML: TOML 文件支持
  • Better Comments: 优化注释显示
  • Error Lens: 错误提示优化
  • GitLens: Git 增强
  • indent-rainbow: 缩进显示优化
  • Prettier - Code formatter: 代码格式化
  • REST client: REST API 调试
  • rust-analyzer: Rust 语言支持
  • Rust Test lens: Rust 测试支持
  • Rust Test Explorer: Rust 测试概览
  • TODO Highlight: TODO 高亮
  • vscode-icons: 图标优化
  • YAML: YAML 文件支持

cargo-generate

cargo是rust的包管理工具,类似python的pip。cargo-generate是rust的一个用于生成项目模板的工具包,它可以使用已有的github repo为模板来生成新的项目。

bash 复制代码
cargo install cargo-generate
cargo generate github-template-url

pre-commit

在创建一个项目是,执行pre-commit安装命令,

bash 复制代码
pre-commit install

会在本地生成一个pre-commit hook(.git/hooks/pre-commit),之后在提交代码时,pre-commit会先做一个基本的检查。

cargo-deny

cargo-deny是rust的一个用于检查依赖安全性的工具包。应用场景:如果项目中某个依赖是GPLv3那么这个项目代码必须开源,使用cargo-deny可以检查这个。

typos-cli git-cliff nextest

Cargo.toml

提交第一个pr

在本地先利用cargo-generate创建一个rust repo,并创建pre-commit hooks

bash 复制代码
mkdir -p /path/to/project-root; cd /path/to/project-root
cargo generate --git https://github.com/github-username/template-name
cd /path/to/project-root/project-name/
pre-commit install
git add .
git commit -a

之后在GitHub上创建一个remote repo,

再通过以下命令将本地repo关联到remote并push,

bash 复制代码
git remote add origin git@github.com:github-username/project-name.git
git branch -M main
git push -u origin main

创建pr

bash 复制代码
vim cliff.toml
git checkout -b temporary-branch
git commit -a
git push origin temporary-branch

之后在GitHub上可以看到上面创建的新分支,点击Compare & pull request,输入pr信息后创建新的pr(Create pull request),review后merge(建议以squash commit merge),merge后删掉新分支,这种新分支属于临时分支。


先看一下本地cliff.toml内容,是修改过后的url,因为本地分支是temporary-branch,checkout回main分支,再看cliff.toml内容,是修改前的url,将remote repo pull到本地,可以看到cliff.toml内容已经更新

bash 复制代码
vim cliff.toml 
git checkout main
vim cliff.toml 
git pull
vim cliff.toml 
相关推荐
Evand J3 分钟前
MATLAB批量保存现有绘图窗口的方法,简易方法,直接保存到当前目录,不手动设置
开发语言·matlab·教程
忽而今夏&_&3 分钟前
python 刷题最基础的一些
开发语言·python
前端郭德纲9 分钟前
JavaScript 原型相关属性详解
开发语言·javascript·原型模式
gelald9 分钟前
Spring - 事务管理
java·后端·spring
nghxni9 分钟前
LightESB Timer发布:服务级日志与响应编码增强
后端
Southern Wind11 分钟前
AI Skill Server 动态技能中台
前端·后端·mysql·node.js
于先生吖12 分钟前
基于 SpringBoot 架构,高性能 JAVA 动漫短剧系统源码
java·开发语言·spring boot
chen_ever15 分钟前
从网络基础到吃透 Linux 高并发 I/O 核心(epoll+零拷贝 完整版)
linux·网络·c++·后端
无限进步_18 分钟前
【C++&string】寻找字符串中第一个唯一字符:两种经典解法详解
开发语言·c++·git·算法·github·哈希算法·visual studio
斌味代码19 分钟前
SpringBoot 3 实战:虚拟线程、全局异常处理与 JWT 鉴权完整方案
java·spring boot·后端