ด้วยมือใหม่จำนวนมากสู่ Xcode ฉันมั่นใจว่ามีเคล็ดลับและเทคนิค Xcode มากมายที่จะแบ่งปัน
คุณเป็นอะไร
ด้วยมือใหม่จำนวนมากสู่ Xcode ฉันมั่นใจว่ามีเคล็ดลับและเทคนิค Xcode มากมายที่จะแบ่งปัน
คุณเป็นอะไร
คำตอบ:
Option ⌥ Command ⌘ Up Arrow ↑
มุมมอง > เปลี่ยนเป็นไฟล์ส่วนหัว / ซอร์ส
สลับระหว่างไฟล์.m
และ.h
- ใน Xcode 4 นี่คือ ctrl Command ⌘ Up Arrow ↑
⌘ Command+ Double-Click on a symbol
: ข้ามไปที่นิยามของสัญลักษณ์
⌥ Option+ Double-Click on a symbol
: ค้นหาข้อความในเอกสารของสัญลักษณ์ (ใช้งานได้เฉพาะในกรณีที่คุณติดตั้ง Doc Set สัญลักษณ์)
แถบรายการโปรดเหมือนกับที่คุณมีใน Safari สำหรับการจัดเก็บ - ดี - รายการโปรด ฉันมักจะใช้เป็นสถานที่ในการจัดเก็บทางลัด (ซึ่งคุณสามารถทำได้โดยการลากวาง) ไปยังไฟล์ที่ฉันใช้ตอนนี้ โดยทั่วไปแล้วสิ่งนี้มีประโยชน์มากขึ้นเมื่อฉันทำงานกับโครงการขนาดใหญ่หรือไม่คุ้นเคย
ในการแสดงแถบรายการโปรดเลือกตัวเลือกเมนูต่อไปนี้:
View
> Layout
>Show Favorites Bar
Tab ⇥หรือControl ⌃ /: เลือกอาร์กิวเมนต์การทำให้สมบูรณ์อัตโนมัติถัดไป
Shift ⇧ Tab ⇥หรือShift ⇧ Control ⌃ /: เลือกอาร์กิวเมนต์การเติมข้อความอัตโนมัติก่อนหน้านี้
Escape ⎋: แสดงรายการป๊อปอัพการทำให้สมบูรณ์อัตโนมัติ
เมื่อคุณพยายามเลิกทำหลังจากบันทึกคุณจะได้รับพรอมต์ต่อไปนี้:
"คุณกำลังจะยกเลิกจุดสุดท้ายที่ไฟล์นี้บันทึกคุณต้องการทำสิ่งนี้หรือไม่?"
หากต้องการกำจัดคำเตือนนี้ให้ป้อนคำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล:
defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO
วางสิ่งนี้ลงในแอปพลิเคชัน Terminal:
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'
com.yourcompanyname
" ในเทมเพลตทั้งหมดของคุณ:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
com.yourcompany
เป็นค่าอะไรก็ตามที่คุณใช้สร้างอุปกรณ์ ฉันใช้ BBEdit หลายรายการค้นหาและแทนที่หลังจากที่ฉันเปิดไดเรกทอรีทั้งหมด คุณควรจะแทนที่ค่าในinfo.plist
ไฟล์ทั้งหมด ฉันพบไฟล์ 8 ไฟล์ที่จะเปลี่ยน จำนวนครั้งที่บิลด์ล้มเหลวเนื่องจากฉันลืมเปลี่ยนสตริงนี้ไร้สาระ
- Control ⌃ Option ⌥ Shift ⇧ + <ตัวอักษรตัวแรกของชื่อกลุ่ม>
หากคุณกดปุ่มสามปุ่มด้านบนคุณสามารถข้ามไปยังกลุ่มต่างๆในหน้าซ้าย (กลุ่มและไฟล์) โดยกดตัวอักษรตัวแรกของชื่อกลุ่ม ยกตัวอย่างเช่นControl ⌃Option ⌥Shift ⇧Tนำคุณไปยังเป้าหมายและControl ⌃Option ⌥Shift ⇧Sการที่มา กดอีกครั้งแล้วข้ามไปยัง SCM บางครั้งอาจต้องใช้ความพยายามหลายครั้งกว่าจะได้ผล (ฉันไม่รู้ว่าทำไม)
Control ⌃ .
Shift ⇧ Control ⌃ .: วนย้อนหลังระหว่างตัวเลือกการเติมข้อความอัตโนมัติ
Control ⌃.(ระยะเวลาควบคุม) หลังจากคำหนึ่งคำยอมรับตัวเลือกแรกจากเมนูเติมข้อความอัตโนมัติโดยอัตโนมัติ ลองพิมพ์log
แล้วControl ⌃. คุณจะได้NSLog
คำสั่งที่ดี กดอีกครั้งเพื่อวนรอบตัวเลือกใด ๆ หากต้องการดูตัวเลือกที่ไม่แน่นอนพิมพ์แล้วNSMu
Control ⌃.
Control ⌃ Command ⌘ ? (ในขณะที่เคอร์เซอร์อยู่ในสัญลักษณ์เพื่อค้นหา)
Option ⌥ + <ดับเบิลคลิกที่สัญลักษณ์>
ช่วยเหลือ> ช่วยเหลือด่วน
หากต้องการไปที่เอกสารประกอบจากหน้าต่างความช่วยเหลือด่วนให้คลิกไอคอนหนังสือที่ด้านบนขวา
- Command ⌘ Option ⌥ + <ดับเบิลคลิกที่สัญลักษณ์>
นำคุณไปสู่เอกสารฉบับเต็ม
- Command ⌘ Control ⌃ + <ดับเบิลคลิกในเครื่องมือแก้ไข>
ใช้ทางลัดด้านบนเพื่อเลือกแปลกหลายคำ คุณสามารถเลือกคำศัพท์ในสถานที่ที่แตกต่างกันโดยสิ้นเชิงจากนั้นลบหรือคัดลอกทั้งหมดในครั้งเดียว ไม่แน่ใจว่าสิ่งนี้มีประโยชน์หรือไม่ มันเป็น Xcode เท่าที่ฉันสามารถบอกได้
เคล็ดลับนี้ใช้ได้กับแอปพลิเคชัน Cocoa ทั้งหมดใน Mac (TextEdit, Mail ฯลฯ ) และอาจเป็นหนึ่งในสิ่งที่มีประโยชน์ที่สุดที่ควรทราบ
- Command ⌘ Left ArrowหรือนำCommand ⌘ Right Arrowคุณไปสู่จุดเริ่มต้นและจุดสิ้นสุดของบรรทัด
- Control ^ aและControl ^ eทำสิ่งเดียวกัน
- Control ^ nและControl ^ pเลื่อนเคอร์เซอร์ขึ้นหรือลงหนึ่งบรรทัด
- Control ^ fและControl ^ bเลื่อนเคอร์เซอร์ไปข้างหน้าหรือข้างหน้าหนึ่งช่องว่าง
การกดปุ่มShift ⇧ใด ๆ เหล่านี้จะเป็นการเลือกข้อความระหว่างจุดย้าย วางเคอร์เซอร์ไว้ที่กึ่งกลางของบรรทัดแล้วกดShift ⇧ Control ^ eและคุณสามารถเลือกที่ส่วนท้ายของบรรทัด
การกดOption ⌥จะช่วยให้คุณนำทางคำต่างๆด้วยแป้นพิมพ์ Option ⌥ Control ^ fข้ามไปที่ท้ายคำปัจจุบัน Option ⌥ Control ^ bข้ามไปที่จุดเริ่มต้นของคำปัจจุบัน คุณยังสามารถใช้Option ⌥กับปุ่มลูกศรซ้ายและขวาเพื่อเลื่อนไปทีละคำได้
NSMutableArray
ลองกับ คุณสามารถเปลี่ยนไปNSArray
โดยการวางเคอร์เซอร์ของคุณหลังจากที่NS
กดแล้วShift ⇧ Control ^ Right ArrowDelete
Command ⌘ Shift ⇧ D
ไฟล์ > เปิดอย่างรวดเร็ว ...
ฉันเป็นแฟนตัวยงของฟีเจอร์Open Quicklyซึ่งดีมากใน Xcode 3.1 และใหม่กว่า เมื่อคุณต้องการเปิดไฟล์หรือคำจำกัดความของสัญลักษณ์ที่อยู่ในโครงการของคุณหรือในเฟรมเวิร์กเพียงกดแป้นพิมพ์ลัดพิมพ์ชื่อไฟล์หรือสัญลักษณ์ของบิตใช้Up Arrow ↑และDown Arrow ↓เลือกผลลัพธ์ที่ถูกต้อง (ถ้าจำเป็น) จากนั้นกดReturn ↩เพื่อเปิดไฟล์หรือนำทางไปยังการกำหนดสัญลักษณ์
บน Xcode 4:
- Command ⌘ Shift ⇧ o
นอกจากนี้สิ่งที่ฉันไม่รู้จักเกี่ยวกับ Xcode จนกระทั่งสองนาทีที่ผ่านมา (เมื่อschwaชี้ให้เห็นในความคิดเห็น) คือถ้าคาเร็กข้อความของบรรณาธิการอยู่ในคำเมื่อเปิดใช้อย่างรวดเร็วคำนั้นจะถูกใช้เป็นเปิดคำค้นหาอย่างรวดเร็ว
คุณสามารถใช้ได้:
#pragma mark Foo
... เป็นวิธีการจัดระเบียบวิธีในไฟล์ต้นฉบับของคุณ เมื่อเรียกดูสัญลักษณ์ผ่านเมนูป๊อปอัพสิ่งที่คุณใส่Foo
จะปรากฏเป็นตัวหนาในรายการ
ในการแสดงตัวคั่น (เช่นเส้นแนวนอน) ให้ใช้:
#pragma mark -
มันมีประโยชน์มากโดยเฉพาะอย่างยิ่งสำหรับการจัดกลุ่มวิธีการมอบสิทธิ์ร่วมกันหรือกลุ่มวิธีการอื่น ๆ
# TODO
งบ ตอนนี้ถ้ามันจะคว้า# XXX
เท่านั้นซึ่งมักใช้ในรหัสฐานที่ฉันทำงาน ...
คุณควรเบรกพอยต์อยู่objc_exception_throw
เสมอ
ใช้รหัสต่อไปนี้:
NSZombieEnabled = YES;
NSDeallocateZombies = NO;
... เพื่อดีบักเก็บและปล่อยปัญหา สำหรับข้อมูลเพิ่มเติมโปรดดูที่ส่วน "การรั่วไหลของการค้นหาความทรงจำ" ของแอปเปิ้ลแก้จุดบกพร่องเอกสารการประยุกต์ใช้งาน
Command ⌘+ Double-click
บนวัตถุในหน้าต่างเอกสารของเครื่องมือสร้างอินเตอร์เฟสเพื่อข้ามไปยังคลาสนั้นใน Xcode นี้จะมีประโยชน์มากกับเจ้าของของไฟล์
ลากวัตถุที่กำหนดเองกลับไปที่ Library's Interface Builder เพื่อนำมาใช้ใหม่ในภายหลัง
Control ⌃ Shift ⇧+ Click
บนวัตถุในเครื่องมือสร้างส่วนติดต่อเพื่อดูเมนูของวัตถุทั้งหมดภายใต้เมาส์
คู่มือท่าทาง Interface Builder
Ctrl+ 2: เข้าถึงรายการวิธีการและสัญลักษณ์ต่างๆในไฟล์ปัจจุบัน
สิ่งนี้มีประโยชน์มากเพราะด้วยทางลัดนี้คุณสามารถเลื่อนดูไฟล์ทั้งหมดโดยใช้แป้นพิมพ์ เมื่อคุณไปที่รายการให้เริ่มพิมพ์ตัวอักษรจากนั้นรายการจะเลือก - เลือกสัญลักษณ์ที่คุณต้องการ
หากหน้าต่างของคุณแสดงทั้งรายละเอียดและมุมมองแก้ไขคุณสามารถซูมแก้ไขเพื่อขยายมุมมองแก้ไขเป็นความสูงเต็มของหน้าต่าง (พบได้ค่อนข้างง่าย แต่หลายคนมองข้ามไป)
คุณสามารถทำได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:
Command ⌘ Shift ⇧ E
ดู > ตัวแก้ไขการซูมเข้า
ลากตัวแยกสัญญาณ (ระหว่างหน้าต่างตัวแก้ไขและรายการไฟล์ด้านบน) ขึ้นไป
รับรายการทางลัดแป้นพิมพ์ Xcode ของ Colin Wheeler (มีให้ในรูปแบบ PDF หรือ PNG) พิมพ์และเก็บไว้ที่ใดที่หนึ่งที่มองเห็นได้ (ฉันติดไว้ที่ฝาผนังถัดจากหน้าจอ)
แก้ไข: อัปเดตเวอร์ชันสำหรับ Xcode 3.2
แก้ไข 2: อัปเดตเวอร์ชันสำหรับ Xcode 4
แป้นพิมพ์ลัดไม่มากนัก แต่ความคิดเห็นของสิ่งที่ต้องทำในแหล่งที่มาปรากฏขึ้นในวิธีการ / ฟังก์ชั่นแบบเลื่อนลงที่ด้านบนของบรรณาธิการ
ตัวอย่างเช่น:
// TODO: Some task that needs to be done.
แสดงขึ้นในรายการแบบหล่นลงของวิธีการและฟังก์ชั่นเพื่อให้คุณสามารถข้ามไปยังมันได้โดยตรง
Java IDEs ส่วนใหญ่จะแสดงเครื่องหมายสำหรับแท็กงานเหล่านี้ในแถบเลื่อนซึ่งก็ดีกว่า แต่ก็ใช้งานได้เช่นกัน
# XXX
และไม่เห็นเลย
⌘- [และ⌘-] เพื่อเยื้องและยกเลิกการเยื้องข้อความที่เลือก ทำให้การทำความสะอาดขึ้นรหัสที่มามากได้ง่ายขึ้น
ดับเบิลคลิกที่เครื่องหมายวงเล็บเหลี่ยมหรือวงเล็บเพื่อให้ได้วงเล็บและวงเล็บที่ตรงกัน
เท็กซ์เอดิเตอร์ของ Control Xcode จากบรรทัดคำสั่ง: xed
> xed -x # open a new untitled document
> xed -xc foo.txt # create foo.txt and open it
> xed -l 2000 foo.txt # open foo.txt and go to line 2000
# set Xcode to be your EDITOR for command line tools
# e.g. for subversion commit
> echo 'export EDITOR="xed -wcx"' >> ~/.profile
> man xed # there's a man page, too
xed was introduced in Mac OS X 10.5 with Xcode 3.0.
"Ctrl + ลูกศรซ้าย / ขวา" เพื่อทำการนำทางข้อความภายในคำ ฉันใช้คุณสมบัตินี้เพื่อข้ามเคอร์เซอร์จาก "อูฐโคก" ในตัวแปรไปยังอีก
Xcode รองรับมาโครข้อความที่สามารถเรียกใช้ผ่านเมนูแทรกมาโครข้อความที่ส่วนท้ายของเมนูแก้ไข พวกเขายังสามารถเรียกใช้โดยใช้ความรู้สึกของ Code ซึ่งเป็นเทคโนโลยีการทำโค้ดของ Xcode
ตัวอย่างเช่นการพิมพ์ลำดับของคีย์p i m control-period
จะแทรก#import "file"
ลงในรหัสของคุณด้วยfile
โทเค็นที่แก้ไขได้เช่นเดียวกับการกรอกรหัส
คลิกขวาที่ตัวแปรในฟังก์ชันของคุณแล้วคลิกแก้ไขทั้งหมดในขอบเขต รับใช้มันมากตั้งแต่ฉันพบสิ่งนี้
ctrl ⌘ T
คุณสามารถให้ Xcode รันตัวประมวลผลล่วงหน้าผ่านไฟล์ Info.plist ของคุณ:
<key> CFBundleShortVersionString </ key> #ifdef DEBUG <string> 1.0 (debug) </string> #อื่น <สตริง> 1.0 </ String> endif #
ดูhttp://developer.apple.com/technotes/tn2007/tn2175.htmlเพื่อดูรายละเอียด
การดีบัก - วิธีใช้ GDB
ยังใหม่กับเรื่องนี้ฉันพบกับดักและระบุความผิดพลาดของงานที่ค่อนข้างน่ากลัว คอนโซลแม้ว่ามันจะเป็นเครื่องมือที่ทรงพลัง แต่ก็ไม่ได้ผลลัพธ์ที่ง่ายมากและการรู้ว่าคุณกำลังมองหาอะไรในตัวดีบั๊กอาจทำความเข้าใจได้ยากพอ ๆ กัน ด้วยความช่วยเหลือของพวกเขาใน Stack Overflow และบทความดีๆเกี่ยวกับการดีบั๊กที่สามารถพบได้ที่ Cocoa With Loveมันจะกลายเป็นมิตรมากขึ้น
นำทางระหว่างไฟล์ที่เปิดไปมา:
⌥⌘←
⌥⌘→
ในทางเทคนิคคำแนะนำของเครื่องมือสร้างส่วนต่อประสาน แต่พวกเขาเป็นคู่ที่จับคู่หนังสือดังนั้นฉันไม่คิดว่านี่เป็นหัวข้อ ...
Shift + คลิกขวาที่หนึ่งในการควบคุมของคุณและคุณจะได้รับรายการที่ดีของลำดับชั้นวัตถุ ไม่ต้องคลิกอีกต่อไปคลิกคลิกใช่แห้ว!
ด้วย Trackpad:
ทดสอบกับ Xcode 3.2.5
เบราว์เซอร์ชั้นใน Xcode! เข้าถึงได้โดยการกดปุ่มshift+⌘c + คุณสามารถลดขอบเขตเพื่อแสดงเฉพาะโครงการที่ใช้งานอยู่ของคุณ มันทำให้คุณมีมุมมองที่ยุ่งเหยิงน้อยลงตราบใดที่คุณต้องการเรียกดูลำดับชั้นของคลาส
[
ในตำแหน่งที่ถูกต้องฉันมาจากพื้นหลัง. NET ดังนั้นฉันจึงคุ้นเคยกับการพิมพ์สัญลักษณ์แล้วพิมพ์ชื่อวิธีการอย่างใดอย่างหนึ่ง ดังนั้นฉันมักจะลืมใส่[
ก่อนที่จะเริ่มพิมพ์ชื่อวัตถุ ปกติแล้วนี่หมายความว่าฉันจะต้องไปที่จุดเริ่มต้นของบรรทัดและเพิ่ม[
ด้วยตนเอง ฉันไม่รู้ว่าฉันสามารถกด]ที่ตำแหน่งเคอร์เซอร์ปัจจุบันแล้วมันจะถูกเพิ่มโดยอัตโนมัติ
มีวิธีการใช้สิ่งนี้: หลังจากพิมพ์ชื่อฟังก์ชั่นหรือขวาก่อนพิมพ์ชื่อฟังก์ชั่น
myObject testMethod
]
... กลายเป็น:
[myObject testMethod]
... ]
ที่มีเครื่องหมายตำแหน่งหลังจากที่
myObject
]
... กลายเป็น:
[myObject ]
... ที่มีลูกศรในตำแหน่งที่ถูกต้องก่อนที่จะ]
ข้อดีของข้อหลัง (2) คือการเติมโค้ดให้สมบูรณ์จะกรองวิธีการของวัตถุของคุณ ในขณะที่เดิม (1) หากคุณพยายามเรียกใช้การเติมโค้ดทันทีหลังจากmyObject
นั้นจะไม่ถูกกรอง ข้อดีอีกอย่างของ (2) คือมันทำงานเหมือนภาษาโปรแกรมอื่น ๆ ที่ใช้เครื่องหมายจุด คุณพิมพ์ชื่อของวัตถุนั้นเพียงแค่]แทนที่จะ.เข้าถึงวิธีการ
เลือกกลุ่มข้อความและพิมพ์ cmd- / เพื่อคอมเม้นต์ ทำอีกครั้งเพื่อลบอักขระความคิดเห็น
สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อรวมกับการจับคู่รั้งโดยดับเบิลคลิกที่ตัวอักษรที่สมดุล (parens, braces, brackets)
ความสามารถในการดูวิธีการทั้งหมดที่สามารถ overriden จากคลาสซูเปอร์อย่างรวดเร็ว ตัวอย่างเช่นเมื่อขยาย UITableViewController ฉันเพิ่งพิมพ์ในการใช้งานของฉัน:
- ta
จากนั้นฉันกดปุ่ม ESC เพื่อดูวิธีทั้งหมดจากซูเปอร์คลาสของฉันที่ขึ้นต้นด้วย "ta" เช่น
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
สิ่งนี้ยังใช้งานได้เมื่อใช้โปรโตคอล
Command ⌘ alt ⌥ shift T : เปิดเผยไฟล์ที่แก้ไขปัจจุบันในแผนผังโครงการ
ctrl+ alt+ ⌘+ rเพื่อล้างบันทึก
เอกสารอ้างอิง API ของ Apple ไม่แสดงวิธีที่สืบทอดมาจากซุปเปอร์คลาส บางครั้งแม้ว่า มันมีประโยชน์ที่จะเห็นการทำงานเต็มรูปแบบที่มีอยู่สำหรับคลาส - รวมถึงคลาสที่กำหนดเองของคุณเอง คุณสามารถใช้คลาสเบราว์เซอร์ (จากเมนูโครงการ) เพื่อแสดงรายการแบบลำดับชั้นหรือแบบลำดับชั้นของคลาสทั้งหมดที่เกี่ยวข้องกับโครงการปัจจุบัน บานหน้าต่างด้านบนทางด้านขวามือของหน้าต่างเบราว์เซอร์แสดงรายการวิธีการที่เกี่ยวข้องกับวัตถุที่เลือกในเบราว์เซอร์ คุณสามารถใช้ชีทกำหนดค่าตัวเลือกเพื่อเลือก "แสดงสมาชิกที่สืบทอด" เพื่อแสดงวิธีการสืบทอดรวมถึงวิธีที่กำหนดโดยคลาสที่เลือกเอง คุณคลิกสัญลักษณ์หนังสือเล่มเล็กเพื่อไปที่เอกสารที่เกี่ยวข้อง