Android Studio 유용한 단축키 모음 #1

라인 아래위 이동

 alt + shift + up/down
❖ alt + shift + up/down

선택된 위치의 줄을 아래 또는 위로 움직인다.

라인 삭제

 cmd + backspace
❖ ctrl + y

선택된 위치의 줄을 삭제 한다.

라인 복제

 cmd + d
❖ ctrl + d

선택된 위치의 줄을 똑같이 복제한다.

확장 선택

 alt + up / down
❖ ctrl + w / ctrl + shift + w

선택 영역을 큰단위로 점차 확장 선택한다.

조건 추가

 cmd + alt + t
❖ ctrl + alt + t

선택된 라인및 영역 을 if / else, try / catch, for, while등으로 조건을 추가할 수 있다.

최근 편집 목록

 cmd + e
❖ ctrl + e

최근 편집한 파일의 목록을 보여준다. 상단 탭보다 더 많은 목록을 볼 수 있다.

문법 자동 완성

 cmd + shift + enter
❖ ctrl + shift + enter

해당 코드에 맞는 문법을 자동으로 완성해주는 기능이다. if를 입력하고 단축키를 누르면 괄호와 묶음 표현코드를 자동으로 작성해준다.

라인 합치기

 ctrl + shift + j
❖ ctrl + shift + j

문법에 맞도록 선택된 줄을 한줄로 합치는 기능이다. 주석이나 의미없이 줄바꿈한 코드를 빠르게 한줄로 수정할 수 있다.

클래스 구조 탐색창

 cmd + F12
❖ ctrl + F12

클래스구조 창을 띄운다. 메서드, 변수등 리스트로 한번에 볼 수 있으며 검색을 통해 해당위치로 빠르게 이동 할 수 있다.

구현 코드 빠른 창으로 보기

 alt + space
❖ ctrl + shift + i

선택된 메서드를 보기위해 클래스로 이동하지 않고 팝업창을 통해 빠르게 볼 수 있다.

북마크 기능

북마크(선택/해지 토글) 하기
 F3
❖ F11

북마크 보기
 alt + F3
❖ ctrl + F11

해당 위치를 북마크 해둘 수 있는 기능이다. 복잡한 구조에서 해당 메서드나 변수를 찾을때 북마크 해두면 쉽게 찾아 갈 수 있다.

액션 찾기

 cmd + shift + a
❖ ctrl + shift + a

다양한 기능을 검색을 통해 찾을 수 있다. 위에서 언급한 기능의 단축키가 생각이 나지 않다면 검색을 통해 찾을 수 있다.

 

해당 단축키는 윈도우 리눅스 Default, OSX는 Mac OSX 10.5+기반으로 작성되었다.

안드로이드 스튜디오 빌드 시간 개선법

이클립스에서 스튜디오로 넘어오면서 가장 불만사항이 Gradle로 변경되면서 MultiDex가 지원됨에 따라 빌드시간이 배이상 느려졌습니다. MultiDex로 인한 작업이 60%이상의 시간을 소모 하고 있습니다. 달리 말해 MultiDex를 쓰지 않으면 60%이상의 시간을 단축 시킬수 있습니다.

:transformClassesWithDexForDebug

롤리팝(API 21)부터는 Art기반이기때문에 MultiDex가 자동으로 생략 됩니다. 하지만 벅스 프로젝트의 MinSdk버전 16 인해 무조건 MultiDex 작업이 수행됩니다.

MinSdk버전을 롤리팝인 21로 설정하게 된다면 MultiDex가 작동되지 않습니다. 즉, 개발시에만 21로 설정해서 사용하면 60%이상의 빌드시간을 단축 할 수 있습니다.

3.2 GHz Intel Core i3 기준으로 빌드시간:

MinSDKVer 16  – Total time: 1 mins 34.019 secs
MinSDKVer 21 – Total time: 41.905 secs
배이상 시간이 단축 되었습니다. 롤리팝 이하 버전의 단말에서는 다시 MinSDK를 내려야 하는 불편함이 있긴 하지만 개발시에만 이렇게 쓰는것이 기회비용상 나쁘지는 않을것 같습니다.

그리고 오늘 안드로이드 스튜디오 2.0 베타가 출시되었는데 인스턴스런이라고 하여 빌드하지않고 수정된 코드가 바로 에뮬레이터로 표현되는 기능이 들어 있습니다. 블로그의 말로는 50배 이상 빌드에 대한 시간을 단축 할 수 있다고 하네요. 앞으로 지속적으로 지켜봐야 할 부분인것 같습니다.