统一格式化工具与 FM

项目的 GitHub 仓库

问题

我喜欢保持我的代码整洁有序,因此我很喜欢格式化工具。然而,我不喜欢 IDE 处理格式化的繁琐和混乱,我在终端中通过 Vim 编写了很多代码。曾经,我一直在寻找一个命令行工具,它是一个格式化工具,允许我提供文件路径或目录路径,并格式化我提供的所有内容。也就是说,如果我提供一个目录,它将格式化该目录中的所有文件,并尊重在提供的目录中找到的任何 .gitignore 文件。我搜索了很久,但没有找到解决方案。

解决方案

由于这个问题,我开发了 ForMatter,简称 fm,这是一个目前处于早期开发阶段的命令行工具,旨在格式化各种项目中的脚本。与依赖 IDE 相比,这个工具提供了更好的格式化控制。虽然它仍在开发中,但已经可以完全使用!如果你有兴趣贡献,欢迎分叉这个仓库并提交 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