본문 바로가기

안드로이드 개발 팁/일반

알아두면 유용한 안드로이드 스튜디오의 단축키



이젠 이클립스를 사용하시는 분 보다 안드로이드 스튜디오를 사용하는 분들이 훨씬 많아졌을 겁니다. 이전 버전에 비해 최신 버전은 비교할 수 없을 정도로 안정화가 진행되었기도 하고, 구글에서도 대놓고 안드로이드 스튜디오 사용을 권장하고 있죠. (이젠 안드로이드 스튜디오에서만 지원하고, 이클립스 ADT에서 지원하지 않는 기능들이 꽤 됩니다)


하지만, 이클립스 환경에 익숙해져 있다 안드로이드 스튜디오로 넘어오게 되면 처음엔 적응하기가 어렵습니다. (안 그런 분들도 계시겠지만, 전 꽤 시간이 걸린 것 같아요... 대략.. 3주 정도?!) (그 이후에도 틈만 나면 단축키 몰라서 구글링 한 건 비밀)


이젠 저도 안드로이드 스튜디오를 사용한지 1년이 되어가는데요, 그 동안 안드로이드 스튜디오를 사용하여 개발을 진행하면서 자주, 그리고 유용하게 사용하는 단축키들을 정리해 보려 합니다. 


코딩 실력도 중요하지만, 그에 못지 않게 중요한 것이 바로 IDE 실력(...)이지 않겠어요? 지금부터 안드로이드 스튜디오 고수 되기 속성 강좌, 단축키 파트를 시작합니다!


본 포스트는 Android Studio 1.2 정식 버전을 기준으로 작성되었습니다. 추후 업데이트로 인해 작성된 내용과 달라지는 부분이 있을 수 있습니다.



사용하지 않는 Import 정리 (Optimize Imports)


코드 중에 사용되지 않는 import 항목을 삭제합니다. 실행 후 정리된 import 문 수가 표시됩니다.


사용 전


사용 후



XML 파일에서 사용하지 않는 namespace도 동일한 단축키로 정리할 수 있습니다.



XML 파일에서 동일한 명령을 사용한 모습


  • Mac: Ctrl + Option + O
  • Windows: Ctrl + Alt + O



자동 완성/수정 (Show intention actions and quick-fixes)


구현되지 않은 부분이 있어 오류가 발생하는 경우, 오류를 수정하기 위해 필요한 작업들을 추천해 주거나, 가능한 경우 바로 해당 작업을 실행합니다. import 선언이 되지 않는 클래스의 import 선언을 추가할 때, 인터페이스를 구현할 때 등 다양한 경우에 매우 자주 사용합니다. 이클립스에는 이와 비슷한 기능으로 'Organize imports' 가 있었죠.


import 선언이 추가되지 않은 경우



인터페이스를 구현하지 않은 경우



이 기능을 사용하려면, 오류가 있는 부분 위에 커서를 올려둔 후 약 1초 정도 기다려야 합니다. 문제가 있는 부분은 첫 번째와 같이 밑줄로 강조되는데요,  강조되기 전에는 단축키를 누르더라도 해당 기능이 동작하지 않으므로 사용시 유의해야 합니다.


  • Mac / WIndows: Alt + Enter



이름 바꾸기 (Rename)


선택한 항목의 이름과, 해당 항목을 참조하는 다른 항목에서의 이름까지 변경합니다. 클래스 이름이나 리소스 이름을 변경할 때 꼭 필요한 기능입니다.

이름을 변경할 항목에 커서를 올려둔 후, 단축키를 누르면 이름 변경 모드로 진입하며, 변경 후 엔터 키를 누르면 변경한 내용이 반영됩니다.



클래스 이름 수정



리소스 이름 수정



  • Mac / Windows: Shift + F6



코드 정렬 (Reformat code)


코드를 특정 기준에 맞도록 정렬합니다. (인덴트, 한 줄당 최대 글자 수 등) 열심히 개발 후 커밋하기 전에 코드를 정리할 때 사용하면 유용합니다.

별도로 지정하지 않을 경우 Preferences > Editor > Code Style > Scheme 에 지정된 항목의 설정이 적용됩니다.



Code Style 설정 화면



정렬 실행 이전 모습 (인덴트 틀어짐 및 한 줄에 두 명령이 혼재되어 있음)



정렬 후



  • Mac: Alt + Command +L
  • Windows: Ctrl + Alt + L



메소드 오버라이드 (Override method)


상위 클래스 내에 있는 오버라이드 가능한 메소드의 목록을 보여주고, 선택한 항목을 자동으로 코드에 추가합니다.

액티비티/프래그먼트의 생명주기 메서드를 작성할 때 유용합니다. (onCreate(), onResume() 등)



액티비티 코드 내에서 명령을 실행한 모습




  • Mac / Windows: Ctrl + O



인터페이스 구현 (Implement methods)


메서드 오버라이드와 유사하며, 인터페이스에서 구현해야 하는 메서드를 추가할 수 있는 다이얼로그를 표시하고, 선택한 항목을 자동으로 코드에 추가합니다.

뷰의 OnClickListener 등을 구현할 때 주로 사용합니다.



View.OnClickListener 인터페이스를 구현하지 않은 상태에서 명령을 실행한 모습



  • Mac / Windows: Ctrl + I



문서 보기 (Quick Documentation Lookup)


커서가 위치한 심볼의 문서(Javadoc 등)을 표시합니다. 클래스나 메서드의 설명을 확인하고 싶을 때 유용합니다.


onCreate() 메서드의 Javadoc을 조회하는 모습


  • Mac / Windows: F1



매개변수 정보 (Parameter info)


커서가 위치한 메서드의 매개변수 목록을 조회합니다. 메서드가 받을 수 모든 매개변수의 조합을 확인할 때 유용합니다.



setContentView() 메서드에서 받을 수 있는 모든 매개변수 조합을 표시한 모습


  • Mac: Command + P

  • Windows: Ctrl + P



선언부로 이동 (Go to declaration)


커서가 위치한 부분에 해당하는 심볼의 선언부로 이동합니다. 코드 흐름을 파악하기 위해 메서드의 구현 확인할 때 유용합니다.



setContentView() 메서드의 구현 내용을 확인하려면 메서드 위에 커서를 놓은 후 명령을 실행합니다.



setContentView() 의 선언부



  • Mac: Command + B
  • Windows: Ctrl + B



통합 검색 (Search everywhere)


모든 종류의 리소스(소스, 리소스, 심볼 등)에서 입력한 키워드와 일치하는 항목을 검색합니다. 이름은 기억 나는데 어디에 있는지 기억이 잘 나지 않을 때, 특정 상수가 어느 곳에 선언되어 있는지 찾을 때 유용합니다.



Search Everywhere 창을 띄운 모습


검색을 실행한 모습


  • Mac / Windows: Shift * 2 (Shft키 두 번 누름)



저는 개발을 하면서 위에서 정리한 단축키만 사용하는데요, (심지어 실행도 그냥 마우스 클릭으로 하는 편입니다) 이 외에 다른 유용한 단축키가 있다면 알려주세요! 별도로 정리해서 본문에 추가하도록 하겠습니다. :)