Trình Định Dạng Thống Nhất với FM

Kho GitHub của Dự án

Vấn đề

Tôi thích giữ mã của mình trông gọn gàng và có tổ chức, nên tôi là một người ủng hộ các trình định dạng. Tuy nhiên, tôi không thích cách các IDE xử lý định dạng vì quá bận rộn và gây rối, và tôi viết nhiều mã của mình trong terminal bằng Vim. Một thời gian, tôi đã tìm kiếm một công cụ CLI là một trình định dạng cho phép tôi cung cấp đường dẫn tệp hoặc đường dẫn thư mục và nó sẽ định dạng tất cả nội dung tôi cung cấp. Có nghĩa là, nếu tôi cung cấp một thư mục, nó sẽ định dạng tất cả các tệp trong thư mục đó và tôn trọng bất kỳ tệp .gitignore nào nếu nó tìm thấy trong thư mục được cung cấp. Tôi đã tìm kiếm giải pháp một thời gian nhưng không tìm thấy gì.

Giải pháp

Do đó và để giải quyết vấn đề này, tôi đã phát triển ForMatter hay gọi ngắn gọn là fm, một công cụ CLI hiện đang ở giai đoạn phát triển ban đầu, được thiết kế để định dạng các script trên nhiều dự án khác nhau. Công cụ này cung cấp nhiều kiểm soát hơn đối với việc định dạng so với việc phụ thuộc vào một IDE. Mặc dù nó vẫn đang được phát triển, nhưng đã có thể sử dụng đầy đủ! Nếu bạn quan tâm đóng góp, hãy fork repo và gửi một PR.

Thiết kế

fm được viết bằng Bash script và sử dụng các thư viện/trình định dạng sau ở nền: shfmt, black, Prettier, & ClangFormat. Với các thư viện/trình định dạng này, fm hỗ trợ các định dạng sau: .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

Kết luận

Tôi sử dụng fm nhiều trên hệ thống cá nhân của mình, và nhiều cộng tác viên hoặc đồng nghiệp mà tôi làm việc cùng cũng sử dụng nó. Đó là lý do tôi đã công khai mã nguồn của nó. Tôi nghĩ nó rất hữu ích và có thể mang lại giá trị thực, vì vậy tôi muốn cả thế giới có thể sử dụng nó. Với điều này, hãy xem fm trên GitHub ngay bây giờ!