목차

티스토리 뷰

728x90
반응형

안녕하세요 🐾

코드 스니펫(Code Snippet)미리 만들어둔 코드를 템플릿으로 저장하고 이를 불러오는 기능입니다.

제가 진행하는 프로젝트는 UI를 만들때 스토리보드를 쓰지 않고 코드만 사용하기 때문에 자주 사용되는 패턴의 코드들을 코드 스니펫으로 지정해두어 꽤나 편하게 사용하고 있는 기능입니다.


1. 코드 스니펫

shift+ ⌘(command) +l 을 누르면 현재 사용가능한 코드 스니펫 항목들이 보입니다.

스니펫 목록 중 For Statement 를 눌러보았습니다. 상단부터 스니펫의 이름과 간략한 설명이 있고 자동완성시 나올 코드가 적혀있습니다. 반복문인 for문의 스니펫이 지정되어있었군요!

Completion은 코드를 불러올 약어를 지정할 때 사용하는데, for 로 설정되어 있는 것을 확인할 수 있습니다. 

 

2. 코드 스니펫 등록

예시로 아래와 같이 UIView템플릿 코드를 작성했습니다.

class UIViewTemplate: UIView {
    // MARK: - Initialize
    override init(frame: CGRect) {
        super.init(frame: frame)
        setupUI()
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    // MARK: - Functions
    private func setupUI() {
        self.backgroundColor = .lightGray.withAlphaComponent(0.3)
    }
}

 

 

위 코드들을 드래그하여 블록을 잡은 뒤 마우스 우클릭Create Code Snippet을 선택합니다.

 

생성 후 아래와 같은 화면이 나옵니다.

스니펫제목을 설정하거나, 자동 완성 코드를 바꾸거나, 코드를 호출 할 약어의 지정을 이곳에서 할 수 있습니다.

 

저는 아래와 같이 추가 수정하였습니다.

 

코드 내 UIView를 보시면 사용자의 입력을 유도하는 Placeholder로 표시되어있는 것을 볼 수 있습니다.

사용 방법은 사이에 Placeholder화 할 코드를 아래와 같이 <# #> 사이에 넣으시면 됩니다.

<#UIView#>

 

3. 코드 스니펫 사용

테스트를 진행 할 뷰 클래스를 하나 만들고 위에서 지정한 호출 약어 UIVT 입력해보면 아래와 같이 코드 스니펫이 보여집니다.

 

엔터를 누르면 스니펫을 통해 입력해 놓은 코드가 자동 입력됩니다.

 

저장된 코드 스니펫에 대한 수정은  shift + ⌘(command) + l을 누르고 해당 항목을 선택한 후 edit 버튼을 누르면 수정이 가능합니다.

 

 

4. 코드 스니펫 공유

 

$USER/Library/Developer/Xcode/UserData/CodeSnippets/

해당 경로의 폴더를 통해 커스텀으로 추가한 스니펫의 공유도 가능합니다. 

 

코스 스니펫을 사용하는 Mac에서 위 경로로 가면 추가된 코드 스니펫 파일이 아래와 같이 보이게 됩니다.

 

이후 코드 스니펫을 공유받고자 하는 Mac에서 위 경로와 같은 곳에 같은 폴더를 사용하면 됩니다.

만약 공유받은 코드 스니펫이 Xcode에서 전역적으로 사용되는 것을 원치 않는다면, 프로젝트 폴더 내에 아래와 같이 공유받은 CodeSnippets 폴더를 추가하여 사용하는 방법도 있습니다.

 


 

혹시나 틀린 부분이 있다면 알려주세요.

감사합니다 :)

반응형

'iOS > Swift' 카테고리의 다른 글

[iOS] 네이버 로그인 SDK 연동하기  (0) 2023.06.21
[iOS] 카카오톡 로그인 SDK 연동하기  (0) 2023.06.21
[iOS] SwiftLint 적용하기  (0) 2023.06.05
[iOS] Moya 적용하기  (0) 2023.06.01
[iOS] 커스텀 뷰 만들기  (0) 2023.05.25
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함