- vừa được xem lúc

Tạo Xcode Templates

0 0 5

Người đăng: Nguyen Tuan Anh N

Theo Viblo Asia

Điều mà tất cả người dùng Xcode sẽ quen thuộc là quá trình tạo Files mới. Khi tạo File mới, chúng ta sẽ thấy một cửa sổ chứa lựa chọn các mẫu để làm base cho file mới. Các Templates mới này thường chứa các dòng code mà chúng ta xóa ngay lập tức hoặc thay đổi để phù hợp với style code của mình. Nhiều người có thể không biết rằng thay vì chỉ dựa vào các Templates được cung cấp, chúng ta có thể tạo Templates của riêng mình. Điều này có thể đơn giản hóa quá trình tạo Files mới và cho phép chúng phù hợp với các yêu cầu cụ thể hơn. Quá trình tạo Templates thoạt đầu có vẻ hơi khó hiểu, nhưng kết quả cuối cùng có thể thực sự hữu ích. Chúng ta sẽ khám phá quá trình viết các Files Templates Xcode của riêng mình, trước khi đi sâu vào cách chúng ta có thể chia sẻ những mẫu này với các nhà phát triển khác trong một dự án cụ thể.

Tạo một Template

Khi Xcode khởi chạy, nó sẽ tìm kiếm các Templates files tại: ~ / Library / Developer / Xcode / Templates / File Templates. Để bắt đầu, chúng ta cần tạo một thư mục trong đây sẽ chứa tất cả các Templates File của chúng ta.

mkdir -p ~/Library/Developer/Xcode/Templates/File\ Templates/Custom

Trong thư mục này, một cách nhanh chóng để bắt đầu là sao chép một trong các Templates dựng sẵn và sau đó thay đổi nó. Chúng có thể được tìm thấy trong Xcode application bundle, với một tùy chọn tốt cho các Templates dựa trên Swift là một cho một tệp Swift mới, Source / Swift File.xctemplate.

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

Sau khi sao chép các tệp, chúng ta thấy xctemplate chứa 4 tệp khác nhau.

  • TemplateIcon.png và _@.com là các thumbnail được hiển thị trong cửa sổ tệp mới. Chúng ta có thể sử dụng chúng cho tất cả các Templates Swift của mình hoặc tạo các Templates cụ thể của riêng mình.
  • TemplateInfo.plist là nơi chúng ta configure templates.
  • ___ FILEBASENAME .swift chứa source Swift tạo base cho Templates.

Chúng ta sẽ bắt đầu bằng cách tạo một Template cho struct Swift mới, được gọi là Swift Struct.xctemplate, dựa trên Swift File.xctemplate được đề cập ở trên.

→ TemplateInfo.plist

Bằng cách gọi tệp ___ FILEBASENAME.swift, tệp Swift kết quả sẽ được đặt tên theo những gì được nhập vào cửa sổ tệp mới. Đối số tương tự này có thể được sử dụng trong Template bằng FILEBASENAMEASIDENTIFIER.* Điều này có nghĩa là nếu chúng ta nhập Contact vào cửa sổ tệp mới, tệp được tạo sẽ là Contact.swift, chứa struct Contact.

struct ___FILEBASENAMEASIDENTIFIER___ {
}

Sau khi hoàn thành Template, khởi động Xcode và yêu cầu tệp mới, chúng ta có thể thấy Template của chúng ta đang được cung cấp trong section có tên là 'Custom'. Tên của section được kiểm soát bởi tên thư mục mà chúng ta đã sử dụng trong ~ / Library / Developer / Xcode / Templates / File Templates.

Những thứ khác mà chúng ta có thể làm

Mặc dù chúng có thể bắt đầu rất cơ bản, nhưng có một số điều quan trọng hơn chúng ta có thể làm với các Templates.

  • Cung cấp tùy chọn Swift hoặc Objective-C khi tạo tệp mới.
  • Thay đổi tên tệp dựa trên những gì được nhập, ví dụ: đặt tên tệp là UsersRepositoryTest nếu nhập UsersRepository.
  • Yêu cầu nhập arguments trong cửa sổ tệp mới và sau đó sử dụng arguments này trong code.
  • Thêm headers hoặc copyright.
  • Thêm imports hoặc skeleton code để được đưa vào tệp theo mặc định.

Khi chúng ta khám phá các khả năng mà các file templates cung cấp, một problem trở nên cực kỳ đơn giản. Sẽ thực sự tuyệt vời nếu chúng ta có thể tạo các templates dành riêng cho dự án và chia sẻ chúng với các dev khác trong dự án. Mặc dù các templates cho một dự án cụ thể không được Xcode hỗ trợ tự động, nhưng nó có thể được thực hiện thông qua việc sử dụng khéo léo các symbolic link.

Chúng ta nên đặt tất cả các templates trong một thư mục trong dự án của mình, chẳng hạn như FileTemplates. Có khả năng dự án được giữ trong source control, điều này sẽ đảm bảo các templates được theo dõi và chia sẻ với mọi người khác trong nhóm.

Thư mục mà Xcode dự kiến sẽ tìm thấy các templates của chúng ta nên đã tồn tại nếu các bước được thực hiện ở trên. Nếu không thì chúng ta cần đảm bảo rằng nó đã được tạo.

mkdir -p ~/Library/Developer/Xcode/Templates/File\ Templates

Khi thư mục tồn tại, symbolic link có thể được tạo ở đây trỏ đến các Templates trong dự án Xcode của chúng ta. Điều đáng nói là nếu chúng ta xóa dự án hoặc di chuyển nó, symbolic link có thể bị xóa và tạo lại một cách đơn giản.

ln -s [Project Location]/FileTemplates \ ~/Library/Developer/Xcode/Templates/File\ Templates/[ProjectName]

ví dụ:

ln -s ~/projects/github/chatapp/FileTemplates \ ~/Library/Developer/Xcode/Templates/File\ Templates/ChatApp

Sau khi khởi động lại Xcode, mọi Templates dự án bây giờ sẽ được hiển thị trong cửa sổ ‘New File’.

Nguồn tham khảo: Create Xcode file templates and share them with your team

Bình luận

Bài viết tương tự

- vừa được xem lúc

Học Flutter từ cơ bản đến nâng cao. Phần 1: Làm quen cô nàng Flutter

Lời mở đầu. Gần đây, Flutter nổi lên và được Google PR như một xu thế của lập trình di động vậy.

0 0 254

- vừa được xem lúc

Học Flutter từ cơ bản đến nâng cao. Phần 3: Lột trần cô nàng Flutter, BuildContext là gì?

Lời mở đầu. Màn làm quen cô nàng FLutter ở Phần 1 đã gieo rắc vào đầu chúng ta quá nhiều điều bí ẩn về nàng Flutter.

0 0 189

- vừa được xem lúc

Swift: Tạo custom phép toán tử (Operator) của riêng bạn!

Swift cho phép bạn tạo các toán tử có thể tùy chỉnh của riêng bạn. Điều này đặc biệt hữu ích khi bạn xử lý các loại dữ liệu của riêng mình. Operator Types in Swift. Có năm loại toán tử chính trong Swift.

0 0 45

- vừa được xem lúc

Chương 6 Protocol oriented programming.

Cuốn sách này là về lập trình hướng protocol. Khi Apple thông báo swift 2 ở WWDC 2015.

0 0 29

- vừa được xem lúc

Ví dụ về UIActivityViewController

Trên iOS, UIActivityViewController cung cấp giao diện thống nhất để người dùng chia sẻ và thực hiện các hành động trên văn bản, hình ảnh, URL và các mục khác trong ứng dụng. let string = "Hello, world!". let url = URL(string: "https://nshipster.com").

0 0 46

- vừa được xem lúc

Quản lý self và cancellable trong Combine.

. . Công việc quản lý bộ nhớ memory management thường trở nên phức tạp khi chúng ta thực hiện các tác vụ bất đồng bộ asynchronous vì chúng ta thường phải lưu giữ một số object nằm ngoài scope mà object được define trong khi vẫn phải đảm bảo được việc giải phóng object đó được thực hiện đúng quy trìn

0 0 29