การแก้ไขหลายเคอร์เซอร์ใน Xcode 10


90

'การแก้ไขหลายเคอร์เซอร์' ในโปรแกรมแก้ไข Xcode 10 คืออะไร (ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องเดียวกันนี้มีการกล่าวถึงในบันทึกประจำรุ่นแต่ไม่สามารถเข้าใจได้)

มันทำงานอย่างไร?


3
ใช้เพื่ออนุญาตให้แก้ไขโค้ดหลายช่วงพร้อมกันได้อย่างรวดเร็ว
Anbu.Karthik

2
เป็นคำถามที่ดีจริง ฉันพบโพสต์ Twitterนี้ในเรื่องนี้ซึ่งดูเหมือนจะพูดถึงปลั๊กอิน / วิธีแก้ปัญหาของบุคคลที่สาม ฉันไม่แน่ใจว่าจะเข้าสู่โหมดการแก้ไขนั้นอย่างไร
LinusGeffarth

3
ดูdeveloper.apple.com/videos/play/wwdc2018/102/?time=2518สำหรับการสาธิตอย่างรวดเร็ว
Hamish

คำตอบ:


183

หากต้องการแก้ไขข้อความหลายอินสแตนซ์ภายในส่วนต่างๆของเอกสารคุณสามารถใช้การแก้ไขแบบหลายเคอร์เซอร์ สิ่งนี้ช่วยให้สามารถวางเคอร์เซอร์หลายตัวในจุดต่างๆเพื่อให้สามารถเพิ่มแก้ไขหรือลบข้อความได้

เป็นชื่อของSource Editorเพื่อจุดประสงค์ในการอ้างอิงฉันได้รับคำตอบจากwhats-new-in-xcode10และลิงก์ตัวอย่าง 1และลิงก์ตัวอย่าง 2

ตอนนี้ Xcode 10 Source Editor รองรับการแก้ไขหลายเคอร์เซอร์ช่วยให้คุณแก้ไขโค้ดหลายช่วงพร้อมกันได้อย่างรวดเร็ว

  • shift+ control+ คลิก
  • shift+ control+
  • shift+ control+
  • option + ลาก

ด้วยโครงการที่เปิดใช้งานการควบคุมแหล่งที่มาตัวแก้ไขซอร์สจะแสดงการเปลี่ยนแปลงที่เกิดขึ้นโดยนักพัฒนาในรางน้ำและแสดงการเปลี่ยนแปลงที่เกิดขึ้นโดยนักพัฒนารายอื่นที่ยังไม่ถูกดึงเข้าสู่โครงการ


1
@MarcusJ - ฉันแก้ไขคำตอบให้เข้าใจง่ายสำหรับตัวอย่างที่คุณได้รับที่นี่
Anbu.Karthik

2
ฉันหวังว่าพวกเขาจะเพิ่งทำ command + คลิก like Sublime
Eric Mentele

5
@ แดนเพียงแค่เปลี่ยนแป้นพิมพ์ลัดสำหรับ "เลือกรายการถัดไป" เป็นCmd + Dในการตั้งค่า :)
RyanM

1
หากต้องการเลือกหลายบรรทัดให้ใช้ "Shift + Ctrl + Drag" ใน Xcode10 ซึ่งทำได้โดย "Cmd + Drag" ก่อนหน้านี้✌️✌️✌️✌️
Mohit G.

1
@Dan, ตรวจสอบคำตอบของฉัน
Iulian Onofrei

24

วิธีที่ดีที่สุดคือใช้Select Next Occurrenceคำสั่งจากFindเมนู

แป้นพิมพ์ลัดเริ่มต้นคือalt+ cmd+ eแต่คุณสามารถตั้งค่าเป็นcmd+ dเพื่อเลียนแบบพฤติกรรมของ Sublime Text ได้

ด้วยวิธีนี้คุณสามารถแก้ไขบรรทัดรหัสที่แตกต่างกันได้ในขณะที่คำตอบในคำตอบอื่น ๆ อนุญาตให้คุณแก้ไขบรรทัดที่คล้ายกันเท่านั้น

ตัวอย่างเช่นหากคุณมีรหัสนี้:

คุณเพียงแค่:

  1. เลือกStringgเหตุการณ์แรกด้วยตนเองจากบรรทัดแรกโดยใช้เคอร์เซอร์
  2. กดSelect Next Occurrenceแป้นพิมพ์ลัด 4 ครั้ง
  3. กดปุ่มrightลูกศร
  4. ตี backspace

และคุณจะมี:


6

Shift+ Ctrl+ click เมื่อคุณต้องการแก้ไขข้อความเดียวกันในไฟล์หลาย ๆ ครั้งเช่น

    option_A.isEnabled = false
    option_B.isEnabled = false
    option_C.isEnabled = false
    option_D.isEnabled = false

ในสิ่งนี้ฉันต้องใส่ true ทั้งสี่บรรทัดดังนั้นควรใส่ true พร้อมกันโดยใช้shift+ control+clickแทนที่จะแก้ไขแต่ละบรรทัด


2

นอกจากนี้ยังมีแป้นพิมพ์ลัดสำหรับผู้ที่ใช้cmd+ Shift+ Lใน Sublime

เรียกว่าSelection - Split Selection By Lines. ฉันตั้งค่าเป็นcmd+ Shift+ Lแต่ฉันต้องตั้งค่าShow Libraryทางลัดเป็นอย่างอื่นแบบสุ่มที่ฉันไม่ได้ใช้เพื่อแก้ไขความขัดแย้ง


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