정상에서 IT를 외치다

[Android, IDE] 안드로이드 코딩속도를 높여주는 템플릿 본문

안드로이드

[Android, IDE] 안드로이드 코딩속도를 높여주는 템플릿

Black-Jin 2019. 4. 11. 11:41
반응형

 안녕하세요. 블랙진입니다.


IDE(통합개발환경)에서 코딩 속도를 높여주는 코드 템플릿이 있습니다. 그동안 몰라서 못 사용했던 꿀팁 Live Templates 과 Postfix Completion  에 대해 포스팅 해보겠습니다.






Live Templates 이란?





안드로이드에서 많이 사용하는 Toast 를 순식간에 작성하는 모습이 보이시나요?


Live Template 을 사용하면 자주 사용하는 코드를 쉽고 빠르게 작성할 수 있습니다. 한가지 예를 더 보겠습니다.






많이 사용하는 for 문 또한 빠르게 작성되는 모습을 보고 계십니다 @_@ 

(이제 당신은 Live Templates 을 사용하고 싶어집니다)



누군가가 봤을 때 "이 개발자 코딩좀 하나보네?" 라는 마음이 확 들것 같이 않나요? (저만 그런걸까요.. ? _ ? )


무튼 그런 마음이 없어도 코딩의 속도를 높여 줄 수 있는 Live Templates 활용법에 대해 알아보겠습니다!!




위치


Preferences > Editor > Live Templates (Mac 사용자 분은 'command' + ' , ' 로 Preferences 에 접근하실 수 있습니다.)




사용법


LiveTemplates 를 보면 Android ~ Zen XSL 까지 다양한 폴더가 보입니다. 여기서 맨 처음 사용했던 Toast 템플릿을 살펴보겠습니다.


경로 : Android > Toast



1. 어디서 사용할 수 있는 언어인지 보여줍니다. 안드로이드는 Java와 Kotlin 을 모두 사용하기 때문에 해당 템플릿이 지원할 수 있는 언어가 무엇인지 확인해야합니다.

2. 축약어를 입력하면 자동 완성 선택 박스가 나옵니다.

3. 자동 완성 박스에서 템플릿에 대한 설명을 보실 수 있습니다.

4. $variable$ 형태의 변수는 템플릿 입력 후 Enter 혹은 Tap 키를 통해 커서를 이동시킬 수 있습니다.


Toast 입력 시 나오는 자동 완성 박스


단축키

'command' + ' j ' 혹은 Tap 키를 눌러 템플릿을 자동 완성 할 수 있습니다.



커스텀 해보기



간단한 커스텀은 오른쪽 상단에 있는 + 버튼을 누르신 후 적용시킬 언어, 축약어, 설명 그리고 템플릿을 입력하시면  쉽게 생성하실 수 있습니다. 


제가 알려드릴 커스텀은 Live Template variables 에 있는 groovyScript("groovy code", arg1) 함수를 적용해 만들어 보겠습니다,



만들 Live Templates



안드로이드 작업을 하다보면 requestCode = 1001 이런식으로 겹치지 않은 숫자를 생성할 필요가 있습니다. 이런 경우 변수의 숫자를 무엇으로 할까 고민을 하는데 위와 같이 템플릿을 입력하는 순간 랜덤한 숫자가 바로 생성되도록 할 수 있습니다!!



Random 숫자 Live Templates



1. 축약어 : req

2. 설명 : Create request code with random number

3. 사용 가능 영역 : java 의 declaration 


오른쪽 상단 Edit variables 버튼을 눌러주고 아래와 같이 입력합니다.



number 변수에 groovyScript("new Random().nextInt(1000)") 를 입력해 주고 Skip if defined 를 체크 해 줍니다.

이렇게 하면 0~999 까지의 숫자가 랜덤으로 number 변수에 들어가게 됩니다. 이 외에도 다양한 함수가 제공되는데 이는 Live Template variables 에서 확인해주세요.



xml 에서의 활용


마지막으로 xml 에서도 Live Templates 어떻게 활용할 수 있는지 보여드리겠습니다. ConstraintLayout 을 사용하시는 개발자 분은 뷰를 중앙에 위치 시키기 위해서는 아래와 같은 코드를 작성하셔야 합니다.


<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>

</android.support.constraint.ConstraintLayout>


ImageView 안에 app:layout_constraint.. 코드를 4개나 작성해 주어야 하다니.... 

하지만 이것또한 Live Templates로 빠르게 작성해 보겠습니다.



XML 에서 사용할 수 있는 Live Templates 를 만들었습니다. 보시는 코드와 같이 중앙 정렬을 해주는 템플릿 입니다. 한번 사용해 보겠습니다.



cslCenter 템플릿을 사용해 순식간에 코드를 완성했습니다.~!~!





Postfix Completion 이란?


Postfix code completion helps you reduce backward caret jumps as you write code. You can transform an already-typed expression to a different one based on a postfix you type after the dot, the type of expression, and its context.


이것 또한 코드 작성을 도와주는 템플릿의 일종입니다. 변수명 뒤에 dot(.)을 입력후 자동완성 시켜줍니다.



위치


Preferences > Editor > General > Postfix Completion




사용모습


1. new 키워드 사용




2. new 와 nn 키워드 사용




Android 특화 Posrifix


https://github.com/takahirom/android-postfix-plugin


해당 링크에 들어가면 findViewById, Toast, Log 등 안드로이드에 특화된 postfix 를 확인하실 수 있습니다.



다운방법 


Preferences > Plugins > Android Postfix Completion 입력


 



install 을 해주시면 됩니다 :)



정리


안드로이드 고속 코딩을 위한 꿀팁 2가지에 대해 포스팅 해봤습니다. 포스팅을 보시고 "어? 나도 한번 사용해 볼까?" 라는 생각을 한 분이라도 하셨으면 정말 만족한 포스팅이 될 것 같습니다. 그러면 오늘도 두가지 꿀팁을 사용해 즐겁게 코딩 하시기 바랍니다.



<참고자료>


Jetbrains Live Template

Jetbrains Postifix Completion

반응형
Comments