ฟอร์แมตเตอร์แบบรวมศูนย์ด้วย 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 อย่างกว้างขวางบนระบบส่วนตัวของฉัน และผู้มีส่วนร่วมหลายคนหรือผู้ร่วมงานที่ฉันทำงานด้วยก็ใช้มันเช่นกัน นั่นคือเหตุผลที่ฉันเปิดซอร์สโปรเจกต์นี้ ฉันคิดว่ามันมีประโยชน์มากและสามารถมอบคุณค่าที่แท้จริงได้ ดังนั้นฉันจึงต้องการให้คนทั้งโลกสามารถใช้งานมันได้ เมื่อรู้อย่างนี้แล้ว ลองไปดู fm บน GitHub ได้เลยตอนนี้!