แก้ไขการเยื้องรหัสใน Xcode


107

เมื่อฉันเริ่มแก้ไขโค้ดของฉันและเพิ่มสำหรับลูปหรือถ้าหากคำสั่งนั้นการเยื้องรหัสของฉันถูกตีกลับเนื่องจากรหัสก่อนหน้ายังคงรักษาการเยื้องเดิมไว้แทนที่จะปรับโดยอัตโนมัติ

ใน Visual Studio คุณสามารถไฮไลต์โค้ดและเลือก 'การเลือกรูปแบบ' เพื่อแก้ไขปัญหาเหล่านี้ - มีอะไรที่คล้ายกันใน Xcode หรือไม่


นี่คือทางออกที่ดีที่สุด
swiftBoy

คำตอบ:


222

ก่อน Xcode 9 (สำหรับ Xcode 9 ดูทางลัดเริ่มต้นด้านล่าง)

  1. เลือกข้อความ
  2. คลิกขวา
  3. มีรายการ "การเลือกการเยื้องซ้ำ" ในเมนูป๊อปอัป

ใน XCode 4 มีอีกหนึ่งขั้นตอน:

  1. เลือกข้อความ
  2. คลิกขวา
  3. คลิกที่ "โครงสร้าง"
  4. มี "การเลือกการเยื้องใหม่" และตัวเลือกอื่น ๆ ในเมนูป๊อปอัป

หรือใช้ทางลัดเริ่มต้น:

  1. เลือกข้อความ
  2. กดctrl+i

1
เห็นได้ชัดว่าสิ่งนี้ใช้ไม่ได้กับ ObjC ++ ใน Xcode 5 ตัวเลือก "การเลือกเยื้องใหม่" ก็ไม่ได้ทำอะไรเลย
Juan Campa

4
ตั้งแต่ Xcode 9 ตัวเลือกคลิกขวาจะไม่มีอยู่อีกต่อไป ctrl + i ยังใช้งานได้
Ali Beadle

1
ctrl + i ... นั่นมัน
Hos Mercury

1
ฮ่า ๆ ฉันอ่านผิดและลองใช้คำสั่ง + i และสร้างโครงการของฉันขึ้นมาใหม่และขอให้ฉันเลือกเทมเพลตการทำโปรไฟล์
Dronz

ctrl+ iจริงๆแล้วฉันสับสนว่า "i" หรือ "I" หรือ "|" เป็น "i" ธรรมดาขอบคุณ
Windo

71
  1. เลือกข้อความ
  2. กดControl-I(แป้นพิมพ์ลัดเริ่มต้น)

1
เมื่อเร็ว ๆ นี้ใช้เวลาอยู่กับ IDE อื่น ๆ มากเกินไปและสมองของฉันคิดว่าสิ่งนี้คุ้มค่าที่จะลบทิ้ง
Fernando Mazzon

1
Control- ฉันไม่ทำอะไรให้ฉันในขณะที่ XCode 11 ไม่มีตัวเลือกเมนูสำหรับสิ่งนี้เลยหรือ?
Paul Slocum

3
@PaulSlocum Control- ฉันยังคงใช้งานได้สำหรับฉันใน Xcode 11 นอกจากนี้ยังอยู่ในเมนูใน Editor> Structure> Re-Indent
Josh Brown

ฉันยังสามารถยืนยันได้ใน Xcode 11
CristianMoisei

12

ใน Xcode 4.6.3 เลือกEditor> >StructureRe-Indent

ทางลัด: Control + I (นั่นคือ 'i' สำหรับ 'เยื้อง')

สิ่งนี้ใช้ได้กับการเลือกปัจจุบัน หากไม่ได้เลือกข้อความให้เลือกEdit> Select All(⌘ + A) จากนั้นทำการเยื้องใหม่

(ฉันอธิบายคำตอบอื่น ๆ ได้ชัดเจนยิ่งขึ้น)



5

โซลูชันเหล่านี้จะเยื้องข้อความใหม่เป็นพฤติกรรม xCode เริ่มต้น หากต้องการเปลี่ยนพฤติกรรมเหล่านี้ให้ไปที่ xCode (v.4)> ค่ากำหนด> การแก้ไขข้อความ จากนั้นไปที่แท็บการเยื้อง


3
สิ่งที่ฉันกำลังมองหา ... แต่ก็ยังไม่ใช่ ... ฉันหวังว่าฉันจะบอก Xcode ให้ทำสิ่งต่างๆเช่นเยื้องส่วนตัว: และสาธารณะ: ภายในคลาส C ++ ... แทนที่จะจัดตำแหน่งให้อยู่ใต้คีย์เวิร์ดคลาส แต่ ฉันไม่เห็นตัวเลือกดังกล่าว
ArtOfWarfare


2

ในการเยื้องไฟล์ทั้งไฟล์ใหม่อย่างรวดเร็ว:

+a

+x

+v

แก้ไข : ไม่ทำงานใน Xcode 11 อีกต่อไป


1
cmd + a, ctrl + i ต่างกันไหม
Declan McKenna

1
มันจะทำงานหลังจากโซลูชัน @tetrajen: Xcode Preference> Text Editing> Indentation> ทำเครื่องหมาย "Re-Indent on paste"
Elad


1

คุณสามารถทำได้หลายวิธี แต่ทั้งสองวิธีนี้ง่ายที่สุด

  • เลือกข้อความ ( + a):
  1. ใช้ทางลัด -> (ควบคุม) ^+i

  2. คลิกที่"Editor" -> คลิกที่"Structure" -> คลิกที่"Re-indent"

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