มีวิธีบังคับให้ Xcode ตัดช่องว่างต่อท้ายเมื่อฉันบันทึกไฟล์หรือไม่
ฉันใช้เวอร์ชัน 3.1.3 ถ้าเป็นเช่นนั้น
มีวิธีบังคับให้ Xcode ตัดช่องว่างต่อท้ายเมื่อฉันบันทึกไฟล์หรือไม่
ฉันใช้เวอร์ชัน 3.1.3 ถ้าเป็นเช่นนั้น
คำตอบ:
คุณสามารถสร้างสคริปต์และผูกเข้ากับแป้นพิมพ์ลัด:
จากนั้นป้อนสคริปต์ต่อไปนี้:
#!/usr/bin/perl
while (<>) {
s/\s+$//;
print "$_\n";
}
เริ่มต้นจาก Xcode 4.4 ช่องว่างจะถูกตัดโดยอัตโนมัติตามค่าเริ่มต้นเว้นแต่บรรทัดจะเป็นช่องว่างทั้งหมด คุณยังสามารถเปิดใช้งานIncluding whitespace-only lines
เพื่อแก้ไขปัญหานี้ซึ่งจะไม่ใช้งานตามค่าเริ่มต้น
ไปที่ Xcode > Preferences > Text Editing > While editing
ctrl-i
กับไฟล์ที่มีอยู่ทั้งหมดจะดูแลช่องว่างต่อท้าย
ฉันใช้Google Toolbox For Mac Xcode Pluginซึ่งจะเพิ่มพารามิเตอร์ "Correct whitespace on save" ที่ตัดช่องว่างต่อท้ายเพื่อบันทึก ฉันพลาดสิ่งนั้นไปมากจากอีแมค
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
(ตามคำแนะนำของ Google) ฉันต้องใส่มัน/Applications/Xcode.app/Contents/PlugIns
และรีสตาร์ท Xcode
สำหรับ Xcode 8 ฉันได้ติดตั้งปลั๊กอินSwimat Xcode สำหรับการจัดรูปแบบโค้ด Swift ซึ่งจะลบช่องว่างต่อท้ายและเส้นเว้นวรรคเท่านั้น
ติดตั้งผ่าน homebrew-cask:
brew cask install swimat
ดาวน์โหลดแอปโดยตรง:
https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.zip
โคลนextension
สาขาและเก็บถาวรไปยัง Mac App
เมื่อติดตั้งแล้วคุณสามารถเรียกใช้ Swimat ใน Xcode Editor -> Swimat -> Format
ผ่าน
สิ่งนี้ไม่สามารถทำได้ใน Xcode 3.2
แก้ไข:
ฉันตอบคำถามนี้เพื่อให้สั้น ๆ เพราะมีวิธีการทำเช่นนี้ไม่ถูกต้อง
แน่นอนว่าเนื่องจากเป็นซอฟต์แวร์คุณสามารถทำอะไรก็ได้: เริ่มต้นด้วยการแฮ็กตัวจัดการอินพุตหรือวิธีการแทรกโค้ดอื่น ๆ เพื่อสกัดกั้นแป้นพิมพ์แบบกว้างของระบบคุณสามารถปรับเปลี่ยนระบบในพื้นที่ของคุณให้ทำอะไรได้ตลอดเวลา คุณสามารถตั้งค่าการดำเนินการโฟลเดอร์ Applescript (arrgh) หรือใช้การเรียกใช้ปีศาจและสิ่งอำนวยความสะดวก FSEvents เพื่อดูไฟล์ซอร์สโค้ดของคุณ
นอกจากนี้คุณยังสามารถเพิ่มสคริปต์สองสามรายการใน Xcode (สคริปต์ผู้ใช้ในเมนูขั้นตอนของสคริปต์ในเป้าหมายการดำเนินการที่กำหนดเองในตัวจัดระเบียบแม้กระทั่งความเป็นไปได้ที่สคริปต์เริ่มต้นจะไม่ทราบแน่ชัด) แต่โซลูชันทั้งหมดเหล่านี้มีข้อบกพร่องเนื่องจากเกี่ยวข้องกับ ผู้ใช้หรือการตั้งค่าแบบกำหนดเองบนเครื่องของผู้ใช้
ฉันไม่ทราบวิธีแก้ปัญหาที่ใช้งานได้หลังจากตรวจสอบโครงการจาก SCM ฉันเชื่อว่าจำเป็นสำหรับสิ่งนี้และสคริปต์การปรับแต่งที่คล้ายกันฉันจึงยื่นข้อบกพร่อง (เรดาร์ 7203835, "คุณลักษณะ: สคริปต์ผู้ใช้เพิ่มเติมทริกเกอร์ในเวิร์กโฟลว์ Xcode") ฉันยังไม่ได้รับคำติชมใด ๆ
นี่คือข้อความทั้งหมดของรายการเรดาร์:
จะมีประโยชน์หากมีสถานที่เพิ่มเติมในการเรียกใช้สคริปต์ใน Xcode
ตัวอย่าง:
Pre build scripts
สามารถใช้ Pre build scripts เพื่อสร้างสิ่งที่จำเป็นต้องมีเช่นไฟล์ * .xcconfig หรือ config.h headers ไม่สามารถทำได้ด้วย "ขั้นตอนการสร้างสคริปต์การเรียกใช้" เนื่องจากการติดตามการอ้างอิงจะเกิดขึ้นก่อนที่จะเริ่มขั้นตอนการสร้างใด ๆโพสต์สคริปต์บิลด์
คล้ายกับด้านบน แต่ทำงานหลังจากสร้างเสร็จแล้ว (รวมถึงการลงนามโค้ด ฯลฯ ) มีประโยชน์สำหรับบรรจุภัณฑ์เพิ่มเติมการตรวจสอบความถูกต้อง ฯลฯสคริปต์ Pre / Post SCM Commit
เพื่อตรวจสอบความสมบูรณ์ของโครงการสคริปต์บันทึกไฟล์ล่วงหน้า / โพสต์
เพื่อตรวจสอบ / แก้ไขไฟล์ก่อนบันทึก เช่นเรียกใช้ cody beautifiersการดำเนินการโครงการแบบกำหนดเอง
ฉันตระหนักดีถึงความสามารถของผู้จัดในการกำหนดการกระทำโดยพลการ แต่นี่เป็นคุณลักษณะต่อผู้ใช้ (ไม่ใช่ส่วนหนึ่งของโครงการ) ฉันต้องการกำหนดการดำเนินการเช่น build หรือ clean ที่ปรากฏในเมนู build และเป็นส่วนหนึ่งของโปรเจ็กต์
ดู Xcode4 ที่นี่: http://www.wezm.net/technical/2011/08/strip-trailing-whitespace-xcode-4/
สุดยอดกล่องเครื่องมือ Google สำหรับ Mac เพิ่มตัวเลือก "ตัดช่องว่าง" สำหรับ Xcode4 แล้ว
http://code.google.com/p/google-toolbox-for-mac/downloads/list
ขอบคุณ Google!
วิธีที่ง่ายและดีที่สุดโดยไม่ต้องใช้สคริปต์แฮ็กและอื่น ๆ อีกมากมาย เพียงไปที่ค้นหาและแทนที่วิธีที่ดีที่สุดและง่ายดายโดยไม่ต้องใช้สคริปต์แฮ็กและอื่น ๆ อีกมากมาย เพียงไปที่ค้นหาและแทนที่แล้วกด "alt / option + space" แล้วกดปุ่ม "space" ในแถบแทนที่จากนั้นคลิกที่แทนที่ทั้งหมด มันจะแทนที่ช่องว่างด้วยช่องว่างปกติและคำเตือน / ข้อผิดพลาดจะหายไป !!