เปลี่ยนเทมเพลตใน Xcode


106

ฉันจะเปลี่ยนเทมเพลตเริ่มต้นที่สร้างโดย Xcode ได้อย่างไรเมื่อสร้าง Cocoa Class ใหม่

ฉันอ้างถึงความคิดเห็นและชื่อคลาสที่สร้างขึ้นเมื่อใช้ตัวช่วยสร้างคลาสใหม่ของ Xcode


สำหรับคำถามอายุ 11 ปีนี้ (!) ไม่มีวิธีแก้ปัญหาอัตโนมัติที่เรียบง่ายและเป็นจริงซึ่งยังคงมีอยู่ระหว่างการติดตั้ง Xcode ฉันใส่คำตอบที่ทันสมัยไว้ในคำตอบที่ด้านล่าง มันง่ายมากและไม่มีวิธีแก้ปัญหาอื่น ๆ ที่เชื่อถือได้และใช้งานได้
Fattie

สำหรับตอนนี้ 12 !! คำถามเก่าปีคำตอบที่ถูกต้องจริงๆคือ: stackoverflow.com/a/57510348/294884
Fattie

คำตอบ:


101

คุณจะไม่เปลี่ยนเทมเพลตที่มีอยู่ กล่าวอีกนัยหนึ่งคืออย่าแก้ไขสิ่งใด ๆ ภายใต้/Developerลำดับชั้น (หรือทุกที่ที่คุณติดตั้งเครื่องมือสำหรับนักพัฒนาของคุณ)

ให้โคลนเทมเพลตที่คุณต้องการปรับแต่งรูปแบบต่างๆแทน จากนั้นเปลี่ยนชื่อและข้อมูลในนั้น สุดท้ายวางไว้ในตำแหน่งที่เหมาะสมในLibrary/Application Supportโฟลเดอร์บัญชีของคุณโดยเฉพาะ:

  • เทมเพลตไฟล์: ~/Library/Application Support/Developer/Shared/Xcode/File Templates/
  • เทมเพลตเป้าหมาย: ~/Library/Application Support/Developer/Shared/Xcode/Target Templates/
  • เทมเพลตโครงการ: ~/Library/Application Support/Developer/Shared/Xcode/Project Templates/

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

อัปเดต สำหรับ Xcode เวอร์ชันใหม่กว่าเส้นทางที่อัปเดตจะเป็น: ~/Library/Developer/Xcode/Templates/File Templates/Source


5
หากคุณไม่มีเส้นทางด้านบนคุณสามารถสร้างได้ อย่าเปลี่ยนเทมเพลตใน / Developer เพราะจะไม่สามารถถอนการติดตั้งและติดตั้งเครื่องมือใหม่ได้ ปฏิบัติเหมือน / ระบบ
Chris Hanson

2
ฉันยังแค่เปลี่ยนคนใน / Developer เพราะจริงๆแล้วมันจะเปลี่ยนมันแทนที่จะสร้างใหม่ซึ่งเกือบจะเหมือนกัน การใช้ไลบรารีโฮมไดเร็กทอรีจะไม่เขียนทับ / Developer โดยจะถือว่าเป็นเทมเพลตอื่น ฉันใช้เฉพาะไลบรารีที่บ้านเพื่อสร้างเทมเพลตใหม่เท่านั้นไม่ได้เปลี่ยนเทมเพลตที่มีอยู่ ฉันจำได้ว่าต้องย้ายเทมเพลตก่อนที่จะติดตั้ง xcode ใหม่และโดยวิธีนี้ไม่ใช่ ~ / Library / Developer / .... , ~ / Library / ** Application Support / ** Developer / ...
mk12


5
ใน XCode5 คุณควรคัดลอกเทมเพลตไปยังพา ธ : ~ / Library / Developer / Xcode / Templates / Application / Project Templates หากไม่มีเทมเพลต / แอปพลิเคชัน / เทมเพลตโครงการให้สร้าง
seufagner

2
หากคุณต้องการให้เทมเพลตปรากฏภายใต้ iOS ด้วยให้เพิ่ม "com.apple.platform.iphoneos" ในรายการแพลตฟอร์มใน TemplateInfo.plist
Lukas Kalinski

45

สิ่งนี้อาจเป็นประโยชน์สำหรับใครบางคน:

สำหรับXCode 6ถึงXCode 9เทมเพลตไฟล์อยู่ใน:

/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source

อัปเดต: ตามที่ @ คาร์โบ 18 กล่าวไว้การสร้างไดเร็กทอรี~/Library/Developer/Xcode/Templates/File Templates/Sourceและวางเทมเพลตที่กำหนดเองไว้ที่นั่นจะดีกว่ามาก วิธีที่ดีที่สุดอาจใช้เป็นฐานหนึ่งใน/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source


2
จะเป็นการดีกว่าที่จะไม่แก้ไขเนื้อหาของ Xcode.app เนื่องจาก Apple สามารถเขียนทับโฟลเดอร์เทมเพลตได้ ตัวเลือกที่ดีกว่าคือสร้าง~/Library/Developer/Xcode/Templates/File Templates/Sourceไดเร็กทอรีและวางเทมเพลตไว้ที่นั่น จะปรากฏอย่างถูกต้องในกล่องโต้ตอบ
คาร์โบ 18

เมื่อ xcode 7.3.1 ดูเหมือนจะไม่ทำงานอีกต่อไป
Brynjar

32

Xcode ใช้ไฟล์เทมเพลตสำหรับไฟล์และเทมเพลตโครงการและทำการขยายตัวแปรทั้งในเวลาสร้าง

เทมเพลต Xcode 3.0 สามารถพบได้ใน [การติดตั้ง Dev] / Library / Xcode /, น่าจะ / ผู้พัฒนา / Library / Xcode หากคุณต้องการแก้ไขเทมเพลตเหล่านี้หรือเพิ่มของคุณเองให้ใช้ไดเร็กทอรีต่อไปนี้เพื่อบันทึกเทมเพลตใหม่ / แก้ไขของคุณเพื่อที่จะไม่ถูกลบล้างโดยการอัปเกรดเครื่องมือสำหรับนักพัฒนาในอนาคต:

  • เทมเพลตไฟล์: ~ / Library / Developer / Shared / Xcode / File Templates /
  • เทมเพลตเป้าหมาย: ~ / Library / Developer / Shared / Xcode / Target Templates /
  • เทมเพลตโครงการ: ~ / Library / Developer / Shared / Xcode / Project Templates /

ฉันคิดว่าคุณยังสามารถใช้ไดเร็กทอรี / Library / Developer / Shared / Xcode / [File | Target | Project] สำหรับเทมเพลตที่แชร์โดยผู้ใช้ทั้งหมด

หากคุณต้องการเปลี่ยนMyCompanyNameในเทมเพลตบรรทัดคำสั่งต่อไปนี้จะทำเคล็ดลับ:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ "ORGANIZATIONNAME" = "NewCompanyName";}'

บทแนะนำที่ดีเกี่ยวกับการเขียนเทมเพลตไฟล์อยู่ที่นี่ [MacResearch.org]


เพียงแค่เปลี่ยนชื่อ บริษัท คุณยังสามารถเปลี่ยนข้อมูลการติดต่อของผู้ใช้ได้: stackoverflow.com/questions/10245689/…
Elisabeth

12

ใน Xcode 4 และ Xcode 5 แม่แบบไฟล์ผู้ใช้สามารถวางได้ที่:
~/Library/Developer/Xcode/Templates/[Category]

[หมวดหมู่] สามารถใช้เพื่อจัดหมวดหมู่แม่แบบของคุณ (เลือกชื่อที่คุณเลือก)

หากยังไม่มีโฟลเดอร์ให้สร้างขึ้นมา!


3
@ Dimitris: นี่คือเทมเพลตภายใน ... ฉันกำลังพูดถึงเทมเพลต USER หากคุณต้องการสร้างเทมเพลตใหม่หรือรูปแบบที่กำหนดเองตามที่ Chris Hanson แนะนำและอย่าไปยุ่งกับเทมเพลตดั้งเดิม
v01pe

7

ณ Xcode 7

  • เทมเพลตไฟล์: ~/Library/Developer/Xcode/Templates/File Templates
  • เทมเพลตโครงการ: ~/Library/Developer/Xcode/Templates/Project Templates

ตัวอย่างเช่นถ้าฉันวางEmpty Application.xctemplateใน~/Library/Developer/Xcode/Templates/Project Templates/Application

จะปรากฏในกล่องโต้ตอบเทมเพลตเป็น กล่องโต้ตอบเทมเพลต


หากคุณเปลี่ยนไฟล์ในโฟลเดอร์นี้ไฟล์เหล่านี้จะถูกเขียนทับเมื่อติดตั้ง xCode เวอร์ชันใหม่หรือไม่
ajmccall

ไม่ใช่เพราะคุณกำลังสร้างโฟลเดอร์ของคุณเองและโฟลเดอร์นี้ว่างเปล่าโดยค่าเริ่มต้นและอยู่ที่นั่นเพื่อจุดประสงค์นั้น ฉันหวังว่า Apple จะจัดทำเอกสารนี้ให้ดีขึ้น วิธีนี้มีข้อเสียเปรียบเนื่องจากเป็นวิธีต่อผู้ใช้ คุณจะต้องคัดลอกแม่แบบไปยังผู้ใช้แต่ละคนในคอมพิวเตอร์หากมีจำนวนมาก แต่นี่คงเป็นเรื่องแปลกเพราะฉันคิดว่านักพัฒนาส่วนใหญ่มีคอมพิวเตอร์เป็นของตัวเอง
คาร์โบ 18

ฉันจะเปลี่ยนเทมเพลต UIViewController เริ่มต้นสำหรับไฟล์ Swift ได้อย่างไร การทิ้งไฟล์ใน~/Library/Developer/Xcode/Templates/File Templatesชื่อUIViewContoller.swiftไม่ทำงาน .. Thx!
Lapidus

การเพิ่มเทมเพลตไฟล์มีส่วนเกี่ยวข้องมากกว่าการเพิ่มไฟล์ที่รวดเร็ว UIViewController.swift ถูกสร้างขึ้นจริงผ่าน Cocoa Touch Template หากคุณต้องการดูว่าเทมเพลตของ Apple มีลักษณะอย่างไรเพื่อให้คุณสามารถสร้างขึ้นเองได้ แสดงเนื้อหาของแอพ Xcode และไปที่Contents/Developer/Library/Xcode/Templates/File Templates/Sourceและดูที่ไฟล์Cocoa Class.xctemplate. ที่นี่คุณจะได้รับแนวคิดที่ดีขึ้นว่าเทมเพลตนั้นถูกสร้างขึ้นอย่างไรจากนั้นคุณสามารถคัดลอกเทมเพลตนี้ไปยังโฟลเดอร์ที่ระบุไว้ด้านบนและแก้ไขตามข้อกำหนดของคุณได้
carb18

6

ใน xcode 5.0.1:

1. ไป -> แอปพลิเคชัน

2. คลิกขวาที่แอปพลิเคชัน "xcode"

3. เลือก "แสดงเนื้อหาในบรรจุภัณฑ์"

4. เนื้อหา / ผู้พัฒนา / ไลบรารี / Xcode / เทมเพลต


3

เวอร์ชันไร้สาระที่รวดเร็วและพร้อมใช้งานปี 2020

ตรวจสอบด้วย Xcode 11.5

ไม่จำเป็นต้องออกจาก Xcode คุณสามารถทำได้ในขณะที่กำลังทำงาน:

cd "/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates / Source / Swift File.xctemplate"

แสดงเป็นบรรทัดเดียวเพื่อให้คุณสามารถคัดลอกจากหน้าเว็บนี้ได้อย่างง่ายดาย

ทำlsแล้ว

sudo chmod oug+rw ___FILEBASENAME___.swift

คุณจะต้องป้อนรหัสผ่านของคุณ

แล้ว

nano ___FILEBASENAME___.swift

import UIKitเพิ่มตัวอย่างเช่น

หรือเพิ่มเช่น class ___FILEBASENAME___:

บันทึก

เสร็จแล้ว

แน่นอนว่านี้ได้รับขัดบน Xcode ติดตั้งแต่ที่จริงปรับเปลี่ยน "หลัก" ปุ่มสวิฟท์เมื่อคุณคลิกเพื่อทำให้ไฟล์ใน Xcode สนุก.

นี่เป็นทางออกเดียวที่ใช้ได้ผล

ใช้เวลา 2 วินาทีในการทำซ้ำเมื่อคุณอัปเดต Xcode


1

สำหรับ Xcode 4.4 ไม่มีวิธีการใดที่กล่าวถึงก่อนหน้านี้ได้ผล ส่วนสำคัญนี้มีโซลูชันแฮ็กบางส่วน โปรดแยกและปรับปรุงหากคุณรู้วิธีที่ดีกว่านี้


1

คลิกขวาที่ XCode และเลือกแสดงเนื้อหาของแพคเกจcontents/Developer/Library/Xcode/Templatesแล้วไปที่ คุณจะพบเทมเพลตสำหรับภาษาโปรแกรมทั้งหมดที่นี่

นี่คือภาพบางส่วน:


ป้อนคำอธิบายภาพที่นี่


ป้อนคำอธิบายภาพที่นี่



-8

ใน XCode 4.5 คลิกขวาที่โปรเจ็กต์คลิกแสดงตัวตรวจสอบไฟล์จากนั้นเปลี่ยนชื่อองค์กรในแท็บที่สองของตัวตรวจสอบไฟล์ (กลุ่มเอกสารโครงการ)


4
แค่ตายผิด แต่ฉันไม่สามารถโหวตลงคะแนนนี้ได้จนกว่าชื่อเสียงของฉันจะ 125 ช่วยฉันด้วย !
Stuart P.

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