格式化工具 (FM)
问题
我喜欢让我的代码保持整洁有序,所以我是格式化工具的粉丝。然而,我不喜欢 IDE 那么繁忙且令人困惑的格式化方式,我也经常在终端通过 Vim 编写代码。有一段时间,我在寻找一个 CLI 格式化工具,它允许我提供文件路径或目录路径,并对我提供的所有内容进行格式化。也就是说,如果我提供一个目录,它会格式化该目录下的所有文件,并在目录中找到 .gitignore
文件时遵循其规则。我搜索了一段时间却没有找到合适的解决方案。
解决方案
基于上述需求,我开发了 ForMatter,简称 fm,这是一款目前仍在早期开发阶段的 CLI 工具,旨在为各种项目的脚本提供格式化功能。与依赖 IDE 相比,这个工具在格式化方面提供了更多的控制。虽然仍在开发中,但已经可以完全使用!如果你有兴趣贡献代码,欢迎 fork 代码仓库并提交 PR。
设计
fm 使用 Bash 脚本编写,并在后台调用以下库/格式化工具:shfmt、black、Prettier 与 ClangFormat
借助这些库/格式化工具,fm 支持以下文件格式:.py、.sh、.bash、.dash、.ksh、.js、.jsx、.ts、.tsx、.json、.md、.html、.css、.yml、.yaml、.graphql、.vue、.scss、.less、.c、.cpp、.h、.hpp、.m、.mm 与 .java
结论
我在个人系统中大量使用 fm,我合作的许多贡献者和协作者也同样使用它。这也是我将其开源的原因。我认为它非常有用,能够提供真实的价值,所以我希望全世界的人都能使用它。了解更多,请立即在 GitHub 上查看 fm!