Android Studio에는 코드 작성, 검색, 리팩터링, 빌드 등을 빠르게 처리할 수 있는 다양한 단축키가 있다.
마우스로 메뉴를 찾아가는 대신 단축키를 사용하면 코드 작성 속도를 높이고 개발 흐름을 끊지 않을 수 있다.
이 글에서는 Windows용 Android Studio 기본 키맵을 기준으로 자주 사용하는 단축키를 정리한다.
Alt + Enter
- 오류 수정 및 자동 import
Shift 두 번
- 전체 검색
Ctrl + Shift + A
- Android Studio 기능 검색
Ctrl + B
- 선언부로 이동
Alt + F7
- 사용처 찾기
Ctrl + E
- 최근 파일 열기
Ctrl + Alt + L
- 코드 정렬
Shift + F6
- 이름 변경
Ctrl + D
- 줄 복제
Ctrl + /
- 한 줄 주석
Ctrl + F9
- 프로젝트 빌드
Shift + F10
- 앱 실행
Alt + Enter는 현재 코드에서 발생한 오류나 경고를 수정할 때 사용하는 단축키다.
Android Studio에서 가장 자주 사용하는 단축키 중 하나다.
Alt + Enter
- 자동 import
- 오류 수정 제안
- nullable 처리 제안
- 함수 또는 프로퍼티 생성
- 코드 개선 제안
예를 들어 Intent를 사용했지만 import가 없는 경우 빨간 줄이 표시된다.
val intent = Intent(
context,
MainActivity::class.java
)
Intent에 커서를 두고 Alt + Enter를 누르면 다음 import를 추가할 수 있다.
import android.content.Intent
nullable 타입을 nullable이 아닌 타입에 넣으려고 하는 경우에도 해결 방법을 제안한다.
val name: String? = getUserName()
val userName: String = name
name에서 Alt + Enter를 누르면 다음과 같은 해결 방법을 확인할 수 있다.
안전한 호출 사용
null 검사 추가
Elvis 연산자 사용
타입을 nullable로 변경
즉, 코드에 빨간 줄이나 노란 줄이 나타났다면 먼저 Alt + Enter를 눌러보는 것이 좋다.
Shift 키를 빠르게 두 번 누르면 Android Studio 전체 검색창이 열린다.
이 기능은 Search Everywhere라고 한다.
Shift 두 번
- 파일 검색
- 클래스 검색
- 함수 검색
- 설정 검색
- 메뉴 검색
- Git 기능 검색
예를 들어 MainActivity를 검색하면 해당 클래스나 파일로 바로 이동할 수 있다.
MainActivity
Build Variants처럼 메뉴의 위치가 기억나지 않는 기능도 검색할 수 있다.
Build Variants
파일인지 클래스인지 설정인지 구분하지 않고 검색할 수 있기 때문에 무엇을 어디에서 찾아야 할지 모를 때 유용하다.
찾고 싶은 대상이 정확하지 않다.
-> Shift 두 번
찾고 싶은 파일이나 클래스 이름을 알고 있다.
-> Shift 두 번
Ctrl + Shift + A는 Android Studio에서 실행할 수 있는 기능이나 명령을 검색할 때 사용한다.
Find Action이라고도 한다.
Ctrl + Shift + A
- 메뉴 기능 검색
- 설정 기능 검색
- Android Studio 명령 검색
예를 들어 Build Variants 창을 열고 싶다면 다음처럼 검색할 수 있다.
Build Variants
캐시 초기화 기능을 찾을 수도 있다.
Invalidate Caches
코드 포맷 기능도 검색할 수 있다.
Reformat Code
Shift 두 번은 파일, 클래스, 설정 등을 모두 검색하는 전체 검색이고, Ctrl + Shift + A는 Android Studio의 기능을 검색하는 데 더 적합하다.
Shift 두 번
- 파일, 클래스, 설정, 기능 전체 검색
Ctrl + Shift + A
- Android Studio 기능 검색
Ctrl + B는 클래스, 함수, 변수 등이 선언된 위치로 이동할 때 사용한다.
코드를 읽을 때 가장 유용한 탐색 단축키 중 하나다.
예를 들어 다음 코드에서 loadData() 함수의 내부 구현을 확인하고 싶다고 가정한다.
viewModel.loadData()
loadData()에 커서를 두고 Ctrl + B를 누르면 해당 함수가 선언된 위치로 이동한다.
fun loadData() {
// 데이터 로드
}
클래스 이름에서도 사용할 수 있다.
val viewModel: SportsViewModel
SportsViewModel에 커서를 두고 Ctrl + B를 누르면 SportsViewModel 클래스 선언부로 이동한다.
XML 리소스에서도 사용할 수 있다.
setContentView(R.layout.activity_main)
activity_main에서 Ctrl + B를 누르면 해당 XML 파일로 이동할 수 있다.
함수 호출부
-> Ctrl + B
-> 함수 선언부
클래스 사용 위치
-> Ctrl + B
-> 클래스 선언부
리소스 사용 위치
-> Ctrl + B
-> 리소스 파일
Alt + F7은 현재 클래스, 함수, 변수 등이 프로젝트의 어느 위치에서 사용되는지 찾을 때 사용한다.
Find Usages 기능이다.
예를 들어 다음 함수가 어디에서 호출되는지 확인하고 싶다고 가정한다.
private fun safeLaunch(
block: suspend CoroutineScope.() -> Unit
) {
// 생략
}
safeLaunch에 커서를 두고 Alt + F7을 누르면 프로젝트 안에서 safeLaunch()를 호출하는 위치가 표시된다.
SportsActivity.kt
GameActivity.kt
MainFragment.kt
함수를 수정하거나 삭제하기 전에 사용처를 확인할 때 특히 중요하다.
함수를 수정하려고 한다.
|
v
Alt + F7
|
v
호출되는 위치 확인
|
v
영향 범위 확인
클래스, 프로퍼티, 리소스 ID 등에도 사용할 수 있다.
R.id.tvTitle
tvTitle이 어떤 XML이나 Kotlin 코드에서 사용되는지 찾을 수 있다.
Ctrl + E는 최근에 열었던 파일 목록을 보여준다.
Activity를 보다가 ViewModel로 이동하고, 다시 이전 Activity로 돌아가고 싶을 때 유용하다.
MainActivity.kt 확인
|
v
MainViewModel.kt 이동
|
v
Repository.kt 이동
|
v
Ctrl + E
|
v
최근 파일 목록 표시
예를 들어 최근에 다음 파일들을 열었다고 가정한다.
MainActivity.kt
MainViewModel.kt
UserRepository.kt
activity_main.xml
Ctrl + E를 누르면 최근 파일 목록에서 원하는 파일을 선택할 수 있다.
프로젝트 창에서 다시 파일을 찾을 필요가 없기 때문에 여러 파일을 오가며 코드를 확인할 때 편리하다.
최근 열어본 파일로 이동
-> Ctrl + E
전체 프로젝트에서 파일 검색
-> Shift 두 번
Ctrl + Alt + L은 현재 파일이나 선택한 코드의 들여쓰기와 줄바꿈을 자동으로 정리한다.
Reformat Code 기능이다.
정리 전 코드는 다음과 같을 수 있다.
fun loadData(){if(isLoading){return}else{
repository.loadData()
}}
Ctrl + Alt + L을 누르면 다음처럼 정리된다.
fun loadData() {
if (isLoading) {
return
} else {
repository.loadData()
}
}
정리되는 항목은 다음과 같다.
들여쓰기
괄호 위치
줄바꿈
공백
코드 스타일
여러 줄을 선택한 후 실행하면 선택한 영역만 정리할 수도 있다.
파일 전체 정리
-> 아무것도 선택하지 않고 Ctrl + Alt + L
일부 코드 정리
-> 코드 선택 후 Ctrl + Alt + L
다만 코드의 동작을 변경하는 리팩터링은 아니며, 코드 형식만 정리한다.
Shift + F6은 변수, 함수, 클래스 등의 이름을 안전하게 변경할 때 사용한다.
Rename 리팩터링 기능이다.
예를 들어 다음 함수 이름을 변경한다고 가정한다.
fun getData() {
// 데이터 조회
}
함수 이름 getData에 커서를 두고 Shift + F6을 누른 뒤 새로운 이름을 입력한다.
fun loadUserData() {
// 데이터 조회
}
Android Studio는 함수 선언부뿐 아니라 이 함수를 호출하는 코드도 함께 변경한다.
변경 전:
viewModel.getData()
변경 후:
viewModel.loadUserData()
단순 검색과 바꾸기를 사용하는 것보다 안전하다.
직접 이름 변경
- 선언부만 바뀔 수 있음
- 호출부를 놓칠 수 있음
- 같은 문자열까지 잘못 바꿀 수 있음
Shift + F6
- 관련 사용처를 분석
- 선언부와 호출부를 함께 변경
- 변경 범위를 미리 확인 가능
변수, 함수, 클래스, 파일, 패키지 이름 등에 사용할 수 있다.
Ctrl + D는 현재 줄이나 선택한 코드를 아래쪽에 복제할 때 사용한다.
예를 들어 다음 코드에서 Text 줄에 커서를 두고 Ctrl + D를 누른다.
Text(text = "첫 번째")
결과:
Text(text = "첫 번째")
Text(text = "첫 번째")
여러 줄을 선택한 상태에서 실행하면 선택한 코드 전체가 복제된다.
Column {
Text(text = "제목")
Text(text = "설명")
}
두 개의 Text를 선택하고 Ctrl + D를 누르면 다음처럼 복제된다.
Column {
Text(text = "제목")
Text(text = "설명")
Text(text = "제목")
Text(text = "설명")
}
비슷한 코드를 반복해서 작성할 때 유용하다.
현재 줄 복제
-> 커서만 두고 Ctrl + D
여러 줄 복제
-> 영역 선택 후 Ctrl + D
Ctrl + /는 현재 줄이나 선택한 여러 줄에 한 줄 주석을 설정하거나 해제한다.
주석이 없는 코드에서 실행하면 //가 추가된다.
viewModel.loadData()
Ctrl + / 실행:
// viewModel.loadData()
다시 Ctrl + /를 누르면 주석이 제거된다.
viewModel.loadData()
여러 줄을 선택한 상태에서도 사용할 수 있다.
변경 전:
loadingView.isVisible = false
contentView.isVisible = true
errorView.isVisible = false
주석 처리 후:
// loadingView.isVisible = false
// contentView.isVisible = true
// errorView.isVisible = false
코드를 임시로 실행하지 않거나 비교하기 위해 주석 처리할 때 편리하다.
주석 설정
-> Ctrl + /
주석 해제
-> 다시 Ctrl + /
Ctrl + F9는 현재 프로젝트를 빌드한다.
코드를 앱으로 실행하지 않고 컴파일과 리소스 처리 과정에서 오류가 있는지 확인할 수 있다.
코드 수정
|
v
Ctrl + F9
|
v
프로젝트 빌드
|
v
컴파일 오류 확인
다음과 같은 문제를 확인할 수 있다.
Kotlin 문법 오류
참조할 수 없는 클래스
잘못된 함수 호출
XML 리소스 오류
중복 리소스
Gradle 설정 오류
예를 들어 존재하지 않는 함수를 호출하면 빌드가 실패한다.
viewModel.loadUserDate()
실제 함수 이름이 loadUserData()라면 컴파일 오류가 발생한다.
Unresolved reference: loadUserDate
코드를 수정한 뒤 앱을 실행하기 전에 빌드 오류만 빠르게 확인하고 싶을 때 사용한다.
빌드만 확인
-> Ctrl + F9
앱을 기기에서 실행
-> Shift + F10
Shift + F10은 현재 선택된 실행 설정으로 앱을 실행한다.
Android 프로젝트에서는 선택된 에뮬레이터나 실제 기기에 앱을 설치하고 실행한다.
Shift + F10
|
v
프로젝트 빌드
|
v
APK 설치
|
v
선택한 기기에서 앱 실행
실행 전에 Android Studio 상단에서 기기가 선택되어 있어야 한다.
Pixel Emulator
실제 Android 기기
Android TV 또는 셋톱박스
앱을 실행하면 현재 선택된 Build Variant가 사용된다.
Build Variant가 debug
-> debug 앱 실행
Build Variant가 release
-> release 앱 실행
단, release 앱을 실행하려면 프로젝트의 서명 설정에 따라 추가 설정이 필요할 수 있다.
Ctrl + F9와 차이는 다음과 같다.
Ctrl + F9
- 프로젝트 빌드
- 앱을 기기에 실행하지 않음
Shift + F10
- 프로젝트 빌드
- 선택한 기기에 앱 설치
- 앱 실행
코드를 작성할 때 다음과 같은 흐름으로 사용할 수 있다.
코드에 오류가 발생했다.
-> Alt + Enter
함수 내부를 확인하고 싶다.
-> Ctrl + B
함수가 어디에서 사용되는지 확인하고 싶다.
-> Alt + F7
최근에 열었던 파일로 돌아가고 싶다.
-> Ctrl + E
코드 이름을 변경하고 싶다.
-> Shift + F6
코드 정렬이 필요하다.
-> Ctrl + Alt + L
빌드 오류를 확인하고 싶다.
-> Ctrl + F9
기기에서 앱을 실행하고 싶다.
-> Shift + F10
실제 코드 작성 순서는 다음처럼 구성할 수 있다.
코드 작성
|
v
Alt + Enter로 오류 수정
|
v
Ctrl + Alt + L로 코드 정리
|
v
Ctrl + F9로 빌드 확인
|
v
Shift + F10으로 앱 실행
Alt + Enter
- 오류 수정
- 자동 import
- 코드 개선 제안
Shift 두 번
- 파일, 클래스, 설정, 메뉴 전체 검색
Ctrl + Shift + A
- Android Studio 기능 검색
Ctrl + B
- 클래스, 함수, 변수의 선언부로 이동
Alt + F7
- 클래스, 함수, 변수의 사용처 찾기
Ctrl + E
- 최근에 열었던 파일 확인
Ctrl + Alt + L
- 코드 들여쓰기와 줄바꿈 정리
Shift + F6
- 변수, 함수, 클래스 이름 변경
Ctrl + D
- 현재 줄 또는 선택한 코드 복제
Ctrl + /
- 한 줄 주석 설정 및 해제
Ctrl + F9
- 프로젝트 빌드
Shift + F10
- 선택한 기기에서 앱 실행
처음부터 모든 단축키를 외우기보다는 사용 빈도가 높은 것부터 익히는 것이 좋다.
가장 먼저 익히면 좋은 단축키는 다음과 같다.
Alt + Enter
- 오류 수정
Shift 두 번
- 전체 검색
Ctrl + B
- 선언부 이동
Alt + F7
- 사용처 찾기
Ctrl + E
- 최근 파일
Ctrl + Alt + L
- 코드 정렬
Shift + F6
- 이름 변경
Ctrl + F9
- 빌드
Shift + F10
- 실행
코드 편집 단축키는 다음 두 개부터 익히면 된다.
Ctrl + D
- 줄 복제
Ctrl + /
- 주석 설정 및 해제
Android Studio의 키맵 설정이나 Windows 단축키 충돌로 인해 일부 단축키가 다르게 동작할 수 있다.
키맵 설정은 다음 경로에서 확인할 수 있다.
File
-> Settings
-> Keymap
특정 기능의 단축키를 검색할 수도 있다.
Reformat Code
Find Usages
Rename
Build Project
Run
Android Studio의 기능 검색을 사용하면 현재 단축키를 바로 확인할 수도 있다.
Ctrl + Shift + A
-> 기능 이름 검색
예를 들어 Reformat Code를 검색하면 해당 기능과 현재 지정된 단축키를 확인할 수 있다.
Android Studio 단축키는 코드 작성 속도를 높이고 파일 탐색이나 리팩터링 과정에서 발생할 수 있는 실수를 줄여준다.
오류 수정
-> Alt + Enter
전체 검색
-> Shift 두 번
기능 검색
-> Ctrl + Shift + A
선언부 이동
-> Ctrl + B
사용처 찾기
-> Alt + F7
최근 파일
-> Ctrl + E
코드 정렬
-> Ctrl + Alt + L
이름 변경
-> Shift + F6
줄 복제
-> Ctrl + D
주석 설정 및 해제
-> Ctrl + /
프로젝트 빌드
-> Ctrl + F9
앱 실행
-> Shift + F10
특히 다음 흐름을 익혀두면 Android 개발에서 자주 사용할 수 있다.
Alt + Enter
-> 오류 수정
Ctrl + B
-> 코드 선언 위치 확인
Alt + F7
-> 코드 사용 범위 확인
Shift + F6
-> 안전하게 이름 변경
Ctrl + Alt + L
-> 코드 정리
Ctrl + F9
-> 빌드 검증
Shift + F10
-> 앱 실행
처음에는 모든 단축키를 외우려고 하기보다, 코드를 작성하면서 같은 작업을 마우스로 반복하고 있다는 것을 발견했을 때 해당 기능의 단축키를 하나씩 익히는 것이 좋다.