นี่คือคำสั่ง clang-modernize-3.5 ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
clang-modernize - หน้าคู่มือสำหรับ clang-modernize 3.5
DESCRIPTION
การใช้งาน: clang-modernize [ตัวเลือก] [ ...]
ตัวเลือก:
ตัวเลือกการจัดรูปแบบ:
-รูปแบบ - เปิดใช้งานการจัดรูปแบบของโค้ดที่เปลี่ยนแปลงโดยใช้การแทนที่
ใช้ สไตล์ เพื่อเลือกรูปแบบการจัดรูปแบบ
-สไตล์=- รูปแบบการเข้ารหัสปัจจุบันรองรับ:
LLVM, Google, Chromium, Mozilla, WebKit
ใช้ สไตล์=ไฟล์ เพื่อโหลดการกำหนดค่ารูปแบบจาก
.clang-format ที่อยู่ในไดเร็กทอรีพาเรนต์ของไฟล์ต้นฉบับ (or
ไดเร็กทอรีปัจจุบันสำหรับ stdin) ใช้ -สไตล์="{key: value, ...}" เพื่อตั้งค่าเฉพาะ
พารามิเตอร์ เช่น
-สไตล์="{BasedOnStyle: llvm, IndentWidth: 8}"
-สไตล์-config=- เส้นทางไปยังไดเร็กทอรีที่มี .clang-format file
อธิบายรูปแบบการจัดรูปแบบที่จะใช้สำหรับการจัดรูปแบบโค้ดเมื่อ สไตล์=ไฟล์.
ตัวเลือกการรวม/การยกเว้น:
-ไม่รวม=- รายการเส้นทางที่คั่นด้วยเครื่องหมายจุลภาคที่ไม่สามารถแปลงได้
-exclude-จาก=- ไฟล์ที่มีรายการเส้นทางที่ไม่สามารถแปลงได้
-รวม=- รายการเส้นทางที่คั่นด้วยเครื่องหมายจุลภาคเพื่อพิจารณาที่จะแปลง
-include-จาก=- ไฟล์ที่มีรายการเส้นทางที่ต้องพิจารณาที่จะแปลง
ตัวเลือก Modernizer:
- ตรวจสอบไวยากรณ์ขั้นสุดท้าย - ตรวจสอบไวยากรณ์ที่ถูกต้องหลังจากใช้การแปลง
-for-คอมไพเลอร์=- เลือกเปลี่ยนเป้าหมายที่สี่แยกของ
คุณสมบัติภาษาที่รองรับโดยคอมไพเลอร์ที่กำหนด ใช้รายการที่คั่นด้วยจุลภาค
ของ - .
สามารถเป็นอะไรก็ได้: clang, gcc, icc, msvc
เป็น [. ]
-ช่วยด้วย - แสดงตัวเลือกที่ใช้ได้ (-ช่วยซ่อน เพิ่มเติม)
รายการช่วยเหลือ - แสดงรายการตัวเลือกที่มี (ช่วยรายการที่ซ่อนอยู่ for
มากกว่า)
-เพอร์ฟ=- บันทึกข้อมูลประสิทธิภาพและส่งออกไปยังไดเร็กทอรีที่ระบุ
ค่าเริ่มต้น: ./migrate_perf
-เสี่ยง - เลือกระดับความเสี่ยงสูงสุด:
=safe - เฉพาะการแปลงที่ปลอดภัยเท่านั้น
= สมเหตุสมผล
- เปิดใช้งานการแปลงที่อาจเปลี่ยนความหมาย (ค่าเริ่มต้น)
=risky - เปิดใช้งานการแปลงที่มีแนวโน้มที่จะเปลี่ยนความหมาย
-สรุป - พิมพ์สรุปการแปลง
-version - แสดงเวอร์ชันของโปรแกรมนี้
ตัวเลือกการทำให้เป็นอนุกรม:
-ซีเรียลไลซ์-dir=- เส้นทางไปยังไดเร็กทอรีที่มีอยู่ที่จะเขียน
การแทนที่ตามลำดับ ลักษณะการทำงานเริ่มต้นคือการเขียนลงในไดเร็กทอรีชั่วคราว
-serialize-เปลี่ยน - จัดลำดับการแทนที่หน่วยการแปลไปยังดิสก์แทน
การเปลี่ยนไฟล์.
แปลงร่าง:
-เพิ่ม-แทนที่ - ใช้ประโยชน์จากตัวระบุการแทนที่ที่เป็นไปได้
-loop-แปลง - ใช้ประโยชน์จากช่วงตามสำหรับการวนซ้ำหากเป็นไปได้
-ผ่านตามค่า - ส่งค่าพารามิเตอร์ตามค่าที่เป็นไปได้
-แทนที่ auto_ptr - แทนที่ std::auto_ptr (เลิกใช้แล้ว) โดย std::unique_ptr
(ทดลอง)
-ใช้-อัตโนมัติ - การใช้ตัวระบุประเภท 'อัตโนมัติ'
-use-nullptr - ใช้ประโยชน์จากคำหลัก nullptr ที่เป็นไปได้
ตัวเลือกการแปลงร่าง:
-override-มาโคร - ตรวจจับและใช้มาโครที่ขยายไปยังคำหลัก 'แทนที่'
-user-null-มาโคร=- รายการที่คั่นด้วยเครื่องหมายจุลภาคของชื่อแมโครที่ผู้ใช้กำหนดซึ่งทำงาน
ชอบ NULL
-p ใช้สำหรับอ่านฐานข้อมูลคำสั่งคอมไพล์
ตัวอย่างเช่น อาจเป็นไดเร็กทอรี CMake build ที่มีไฟล์ชื่อ
compile_commands.json มีอยู่ (use -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ตัวเลือก CMake
เพื่อให้ได้ผลลัพธ์นี้) เมื่อไม่ได้ระบุเส้นทางของบิลด์ ให้ค้นหา
compile_commands.json จะพยายามผ่านพาเรนต์พาเรนต์ทั้งหมดของอินพุตแรก
ไฟล์ . ดู: http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html เป็นตัวอย่าง
ของการตั้งค่า Clang Tooling บนแผนผังต้นทาง
... ระบุเส้นทางของไฟล์ต้นทาง เส้นทางเหล่านี้คือ
ค้นหาในฐานข้อมูลคำสั่งคอมไพล์ หากพาธของไฟล์เป็นแบบสัมบูรณ์ มัน
ต้องชี้ไปที่ทรีต้นทางของ CMake หากเส้นทางสัมพันธ์กันกระแส
ไดเร็กทอรีการทำงานต้องอยู่ในแผนผังซอร์ส CMake และไฟล์ต้องอยู่ใน a
ไดเร็กทอรีย่อยของไดเร็กทอรีการทำงานปัจจุบัน คำนำหน้า "./" ในไฟล์ที่เกี่ยวข้อง
จะถูกลบออกโดยอัตโนมัติ แต่พาธสัมพัทธ์ที่เหลือต้องเป็นคำต่อท้ายของ
เส้นทางในฐานข้อมูลคำสั่งคอมไพล์
ตัวอย่าง:
ใช้การแปลงทั้งหมดบนไฟล์ที่ไม่ต้องการอาร์กิวเมนต์การคอมไพล์:
เสียงดังกราวทันสมัย file.cpp
แปลง for loops เป็น ranged-based for loops สำหรับไฟล์ทั้งหมดในฐานข้อมูลการคอมไพล์ที่
อยู่ในทรีย่อยของโปรเจ็กต์ จากนั้นฟอร์แมตโค้ดใหม่โดยอัตโนมัติโดยใช้สไตล์ LLVM:
เสียงดังกราวทันสมัย -p สร้าง/เส้นทาง - รวม โครงการ/เส้นทาง -รูปแบบ -loop-แปลง
ใช้ประโยชน์จากทั้ง nullptr และตัวระบุการแทนที่ โดยใช้ git ls-files:
git ls-files '*.cpp' | xargs -I{} กราว-ทันสมัย -p สร้าง/เส้นทาง \
-use-nullptr -เพิ่ม-แทนที่ -override-มาโคร {}
ใช้การแปลงทั้งหมดที่รองรับทั้ง clang >= 3.0 และ gcc >= 4.7 ถึง foo.cpp และอื่นๆ
รวมส่วนหัวในแถบ:
เสียงดังกราวทันสมัย -for-คอมไพเลอร์=เสียงดังกราว-3.0,gcc-4.7 fo.cpp \
- รวม บาร์ -- -มาตรฐาน=c++ 11 -อิบาร
ใช้ clang-modernize-3.5 ออนไลน์โดยใช้บริการ onworks.net