统一格式化工具与 FM
问题
我喜欢保持我的代码整洁有序,因此我很喜欢格式化工具。然而,我不喜欢 IDE 处理格式化的繁琐和混乱,我在终端中通过 Vim 编写了很多代码。曾经,我一直在寻找一个命令行工具,它是一个格式化工具,允许我提供文件路径或目录路径,并格式化我提供的所有内容。也就是说,如果我提供一个目录,它将格式化该目录中的所有文件,并尊重在提供的目录中找到的任何 .gitignore 文件。我搜索了很久,但没有找到解决方案。
解决方案
由于这个问题,我开发了 ForMatter,简称 fm,这是一个目前处于早期开发阶段的命令行工具,旨在格式化各种项目中的脚本。与依赖 IDE 相比,这个工具提供了更好的格式化控制。虽然它仍在开发中,但已经可以完全使用!如果你有兴趣贡献,欢迎分叉这个仓库并提交 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!