格式化工具 (FM)

项目的 GitHub 仓库

问题

我喜欢让我的代码保持整洁有序,所以我是格式化工具的粉丝。然而,我不喜欢 IDE 那么繁忙且令人困惑的格式化方式,我也经常在终端通过 Vim 编写代码。有一段时间,我在寻找一个 CLI 格式化工具,它允许我提供文件路径或目录路径,并对我提供的所有内容进行格式化。也就是说,如果我提供一个目录,它会格式化该目录下的所有文件,并在目录中找到 .gitignore 文件时遵循其规则。我搜索了一段时间却没有找到合适的解决方案。

解决方案

基于上述需求,我开发了 ForMatter,简称 fm,这是一款目前仍在早期开发阶段的 CLI 工具,旨在为各种项目的脚本提供格式化功能。与依赖 IDE 相比,这个工具在格式化方面提供了更多的控制。虽然仍在开发中,但已经可以完全使用!如果你有兴趣贡献代码,欢迎 fork 代码仓库并提交 PR。

设计

fm 使用 Bash 脚本编写,并在后台调用以下库/格式化工具:shfmtblackPrettierClangFormat

借助这些库/格式化工具,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