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 
相关推荐
鱼人18 小时前
匹配表达式 vs. Switch语句:现代PHP中的条件逻辑重构
后端
clue18 小时前
让微信小程序也能发PATCH
前端·后端
小短腿的代码世界18 小时前
Qt跨进程通信在交易系统中的应用:让策略引擎与风控模块在毫秒级握手
开发语言·qt
zhangrelay19 小时前
三分钟云课实践速通--大学物理--python 版
linux·开发语言·python·学习·ubuntu·lubuntu
掘金者阿豪19 小时前
没有公网IP也能远程监控服务器?node_exporter加cpolar把监控接口透传到公网
后端
uzong19 小时前
软件架构设计的考虑:如构建一个长生周期的系统
后端·架构
MegaDataFlowers19 小时前
调用Service层操作数据
java·开发语言
asdzx6719 小时前
使用 Python 读取 PDF: 提取文本和图片
开发语言·python·pdf
沐知全栈开发19 小时前
jQuery Mobile 表单选择
开发语言