Do.

깨알같은 도우미 코드 스닙펫(Code Snippets) 본문

iOS

깨알같은 도우미 코드 스닙펫(Code Snippets)

Hey_Hen 2022. 2. 9. 16:35

코드 스닙펫은 코드 자동완성과 비슷한 개념이다. Xcode에서 작성중인 페이지에서 라이브러리를 열면 보이는 것이 바로 그것

대표사진 삭제

사진 설명을 입력하세요.

예를들어ViewController에서 기능을 구분하기 위해 extension하고 그 위에는 MARK로 구분을 하는데 줄 나누기까지 되는 마크를 주려면

//MARK: -
 

까지 입력을 해야 하는데 이것도 많이 하다 보면 여간 귀찮은 일이 아니다. 그래서 코드 스닙펫을 활용해서 자동완성 되도록 해보자.

 

대표사진 삭제

사진 설명을 입력하세요.

에디터에서 Control + Click 또는 우측 클릭을 하면 드롭 메뉴가 나오는데 거기서 Create Code Snppet...으로 들어간다.

대표사진 삭제

사진 설명을 입력하세요.

그러면 위와 같은 창에서 My Code Snippet이라는 새로운 스닙펫이 등록 되는데 이 스닙펫 우측 하단에서 Edit을 누르자.

 

이번에 등록할 것은 String Interplolation이다.

 

나는 Storyboard에서 그 뷰 컨트롤러의 identifier를 요구할때 문자열로 작성하지 않고

예를들어 뷰컨트롤러의 이름을 NextViewController 라고 했으면 identifier는

"\(NextViewController.self)"
 

로 작성을 한다. 그러면 이미 있는 개체를 작성하기 때문에 Xcode가 자동완성으로 도와주는데 이렇게 하면 문자열 리터럴을 작성하면서 발생할 수 있는 오타, 그리고 이름이 길 경우 귀찮음을 해결해 줄수 있다.

그런데 다 적고 난다음에 문자열로 바꾸는 String Interpolation 하기가 생각보다 귀찮은데 저부분을 등록할 것이다.

사진 삭제

사진 설명을 입력하세요.

차례대로 살펴보자

 

Title: 스닙펫의 이름이다 알아보기 쉽게 작성하자 나 같은 경우는 String Interpolation을 빠르게 작성하기 위함으로 Quick String Interpolation으로 한다.

 

Summary: 는 자동완성시에 표시되는 디스크립션 개념으로 구체적으로 설명을 적어줄 수 있다.

 

스닙펫 작성화면: 자동완성 될 내용을 작성하면 된다.

 

Language: 언어별로 적용 가능!

 

Platform: 플랫폼 별로 작성 가능!

 

Completion: 자동완성이 되는 키워드로 나는 sti로 설정 (편집기에서 sti라고만 하면 위에서 작성한 코드가 자동 완성된다.

 

Availability: 스코프를 조절할 수 있다.

 

사진 삭제

사진 설명을 입력하세요.

이렇게만 작성해도 되는데

사진 삭제

사진 설명을 입력하세요.

이제 에디터에서 sti라고 치면 저렇게 자동완성이 생성된다.

리턴키를 누르면

사진 삭제

사진 설명을 입력하세요.

"\()"가 뾰로롱 하고 들어가는데 스닙펫의 강점은 저기서 끝이 아니다.

빠르게 내용을 작성할 수 있는 기능이 하나 더 존재하는데

 

이부분이다. 우리가 Foundation이나 스탠다드 라이브러리에서 사용할 수 있는 메소드중

사진 삭제

사진 설명을 입력하세요.

이렇게 작성하면 회색/파란색으로 표시되는 부분이 있는데 여기서 리턴을 누르면 포커스가 바로 이동된다. 바로 이 부분이 Snippets의 강점 중 하나로 sti에도 이걸 추가 해 보자

 

사진 삭제

사진 설명을 입력하세요.

작성하는 방법은 원래 있던 "\()" 괄호 사이에 우리는 회색/파란색(이름을 모르겠다) 포커스를 사용할 것이기 때문에 그 사이에 <#NAME#> 으로 작성해준다. 포커스는 <##> 사이에 표시될 이름을 작성하면 된다. ForEach에서 처럼 작성해도 되고 sti로 작성할 내용에서는 그냥 변수명 같은것을 넣게 되기 때문에 NAME으로 심플하게 작성했다.

 

이제 다시 편집기에서 sti를 타이핑 하면

사진 삭제

사진 설명을 입력하세요.

회색/파란색으로 포커싱 되는데 리턴을 누르고 원하는 이름을 입력하면 된다.

 

잘만쓰면 생산성을 높여주는 스닙펫을 잘 써보자.

 

'iOS' 카테고리의 다른 글

(!!) Xcode is not installed  (0) 2022.02.09
Memory Management  (0) 2022.02.09
디버그와 브레이크 포인트  (0) 2022.02.09
함수 반환형  (0) 2022.02.09
XML Parser  (0) 2022.02.09
Comments