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 
相关推荐
用户6757049885023 小时前
面试官问“装饰器模式”,这样回答薪资多要 3000!
后端
tntxia3 小时前
Geo Scene域名修改引起的一些问题
后端
用户298698530143 小时前
Java 实现 Word 文档加密与权限解除
java·后端
vanuan4 小时前
给你的A2A-Agent加把锁-认证鉴权实战指南
后端
Yeats_Liao4 小时前
14:Servlet中的页面跳转-Java Web
java·后端·架构
未秃头的程序猿4 小时前
告别"if-else地狱"!Java 21模式匹配,代码优雅了10倍
java·后端·面试
武子康4 小时前
调查研究-201 Rust 里的 dev build 和 release build:为什么同一份代码性能差这么多?
后端·架构·rust
石小石Orz4 小时前
AI具身交互:实现一个会说话的3D虚拟伴侣
前端·人工智能·后端
Ai拆代码的曹操4 小时前
容器 CPU Throttling 有多坑?K8s CFS 限制让 P99 慢了 16 倍
后端