สุดยอด C ++ Code Formatter / Beautifier


127

มีเครื่องมือจัดรูปแบบซอร์สโค้ดมากมายอยู่ที่นั่น ตัวไหนทำงานได้ดีที่สุดสำหรับ C ++

ฉันสนใจเครื่องมือบรรทัดคำสั่งหรือสิ่งอื่น ๆ ที่สามารถเรียกใช้โดยอัตโนมัติเมื่อตรวจสอบโค้ดเข้า / ออกโดยไม่จำเป็นต้องเปิดตัวแก้ไขหรือ IDE

(หากคุณเห็นรายการที่คุณชอบอยู่แล้วแสดงเป็นคำตอบให้โหวตหากไม่มีให้เพิ่ม)

คำตอบ:


120

AStyleสามารถปรับแต่งได้อย่างละเอียดสำหรับ C ++ และ Java (และอื่น ๆ ด้วย)

นี่คือเครื่องมือจัดรูปแบบซอร์สโค้ด


clang-formatเป็นเครื่องมือบรรทัดคำสั่งที่มีประสิทธิภาพที่มาพร้อมกับคอมไพเลอร์ clang ซึ่งจัดการแม้แต่โครงสร้างภาษาที่คลุมเครือที่สุดในลักษณะที่สอดคล้องกัน

สามารถรวมเข้ากับ Visual Studio, Emacs, Vim (และอื่น ๆ ) และสามารถจัดรูปแบบเฉพาะบรรทัดที่เลือก (หรือด้วย git / svn เพื่อจัดรูปแบบความแตกต่าง)

จะสามารถกำหนดค่าความหลากหลายของตัวเลือกการจดทะเบียนที่มีที่นี่

เมื่อใช้.clang-formatรูปแบบไฟล์ config (ชื่อ) สามารถเป็นต่อไดเร็กทอรี - ไฟล์ดังกล่าวที่ใกล้เคียงที่สุดในไดเร็กทอรีพาเรนต์จะถูกใช้สำหรับไฟล์เฉพาะ

สไตล์สามารถสืบทอดมาจากค่าที่ตั้งไว้ล่วงหน้า (เช่น LLVM หรือ Google) และสามารถแทนที่ตัวเลือกต่างๆในภายหลังได้

Google และผู้อื่นใช้งานและพร้อมใช้งานจริง


ดูโครงการUniversalIndentGUIด้วย คุณสามารถทดลองกับอินเทอร์เฟซหลายตัวได้โดยใช้ AStyle, Uncrustify, GreatCode, ... และเลือกสิ่งที่ดีที่สุดสำหรับคุณ สามารถรันได้ในภายหลังจากบรรทัดคำสั่ง


Uncrustifyมีจำนวนมากของตัวเลือกที่กำหนด คุณอาจต้องใช้ Universal Indent GUI (ในการตอบกลับของ Konstantin) ด้วยเพื่อกำหนดค่า


1
เรามีไฟล์ต้นฉบับที่ยุ่งเหยิงซึ่งเต็มไปด้วยมาโครที่ซับซ้อนทำให้ยากที่จะเข้าใจวิธีแก้ไขโค้ดหรือตั้งค่าจุดพัก เราลบมาโครด้วย gcc -E ส่งผลให้มีบรรทัดที่ยาวมากซ้อนกันสำหรับลูป if statement เป็นต้น Astyle แก้ไขให้อ่านได้ช่วยให้เราประหยัดปัญหาได้มาก Astyle มีที่ถาวรบนชั้นวางเครื่องมือซอฟต์แวร์ของฉัน!
DarenW

8
เคล็ดลับเป็นกลุ่ม: หากคุณต้องการตกแต่งโค้ดในไฟล์ที่คุณกำลังแก้ไขอยู่ให้ใช้:%! astyle
tonylo

นี่เป็นเครื่องมือที่ยอดเยี่ยม ฉันใช้ Astyle ทุกครั้งที่ต้องทำงานในโปรเจ็กต์เดียวกันกับทั้ง MSVStudio บน windows (ที่ทำงาน) และ emacs บน linux (ที่บ้าน) ฉันใช้สไตล์ BSD กับ emacs และ astyle (ซึ่งใกล้เคียงกับสไตล์ที่ฉันใช้กับโปรแกรมแก้ไข MSVC) และฉันมีซอร์สโค้ดที่เยื้องอย่างถูกต้องเสมอ แม้จะดูสวยงามโดยไม่ขึ้นกับขนาดแท็บ!
Alexandre C.

1
พยายามแล้ว ง่ายมากที่จะได้รับผลลัพธ์ที่รวดเร็ว (เอกสารดี) น่าเสียดายที่มีตัวเลือกไม่มากนัก! โปรแกรมเมอร์บางคนมีความคิดสร้างสรรค์มากกับวิธีการเติมโค้ดด้วยช่องว่างและ AStyle ไม่ได้จัดการกับความคิดสร้างสรรค์ทั้งหมดนั้น
โกรธ

ไม่มีตัวเลือกความกว้างของเส้นสูงสุด สิ่งนี้ควรเป็นสิ่งที่ต้องมี
Sogartar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.