网站首页 > 开源技术 正文
熟悉前端开发的同学应该知道,前端工程化工作流中有一个很常用的工具:Husky。Husky 方便我们在项目中添加 git hooks,比如配合 lint-staged 在代码提交前进行自动检查编码规范,再比如配合 commitlint 对提交时填写的 message 内容进行检查。对于多人参与的开源项目或公司团队项目,这些工具非常有用,它可以确保每个人都使用同样的规范和工作流来协同工作。
前端的工程化已经发展很成熟了,主要因为前端开发语言的弱类型和各种编程风格的不一致,促使人们急需要一些工程化手段来解决这类问题。相比前端来说,.NET 开发在这方面的需求就没有那么强烈,因为它的配套 IDE VS 的智能提示就解决了大部分问题。但有也一些问题是 IDE 解决不了的,毕竟 IDE 只是给出建议,而不是强制使用规范,而且功能也有限,很难灵活地自定义规范。
但是 .NET 有了 Husky 这种 git hooks 工具后,就对统一编程规范提供了无限可能。今天要介绍的就是一个开源的基于 .NET 实现的 Husky:Husky.Net。
Husky.Net 的 GitHub 地址:
https://github.com/alirezanet/Husky.Net
当然,如果不使用 Husky.Net 这个工具,你也可以在 .NET 项目中使用 Husky,只是要安装 node.js、yarn 等,还要配置 packages.json 文件。使用 Husky.Net 更简便,而且支持的功能会更多。Husky 支持所有的 git hooks。
当你提交 .NET 项目代码时,你可以用它来做一些提交前的检查,比如格式化代码、运行测试等。下面是 Husky.Net 的一些特点:
- 由现代化新的 Git 功能(core.hooksPath)提供支持。
- 用户友好的信息展示
- 支持 macOS、Linux 和 Windows
- 支持 Git GUI
- 自定义目录
- Staged-hooks! (即将支持)
- dotnet-format 集成(即将支持)
Husky.Net 是一个 dotnet CLI 工具,它支持两种安装方式,全局安装和本地安装(只对项目)。安装命令如下:
# 全局安装
dotnet tool install --global Husky
# 本地安装
cd <Your project root directory>
dotnet new tool-manifest
dotnet tool install Husky
安装完后便可把 husky 安装到你的 git 项目:
cd <Your project root directory>
husky install
然后你可以添加一个 commit hook,比如
husky add .husky/pre-commit "Husky is awesome!"
这样,你每次提交代码都会打印一行消息 Husky is awesome!。
提交代码测试一下:
git add .
git commit -m "Keep calm and commit"
# Husky is awesome!
目前这个工具还不完善,还有很多功能需要开发,现在发布的是 v0.0.1 版本,后面会陆续增加许多特性。
- 上一篇: 英国标志性单品,喜欢军事风的男人必有一件绗缝夹克
- 下一篇: 美国代购的husky全天候脚垫终于装上了
猜你喜欢
- 2024-09-28 ChipWhisperer-Husky,手掌大小的功耗分析和故障注入工具
- 2024-09-28 Meta开源用于数学等复杂推理AI Agent—HUSKY
- 2024-09-25 Blued一哥:谁给他的勇气自封gay一哥,梁静茹吗?
- 2024-09-25 词raucous,bellow,husky,Siberian,Serbian,Samoyed,trove
- 2024-09-25 打开才知道 里面多有货(怎么打开不知道密码的手机)
- 2024-09-25 代码规范—husky + lint-staged实现commit之前的代码检查
- 2024-09-25 拒绝平庸!哈士奇意式轻奢复古冰箱
- 2024-09-25 冠品涂装20年-固瑞克HUSKY 气动隔膜泵的概述及优势
- 2024-09-25 为什么husky不再使用自动安装脚本
- 2024-09-25 美国代购的husky全天候脚垫终于装上了
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)