안드로이드/단축키 및 Tip

그냥 Add Repository 하면, 생성이 안된다.
해당 프로젝트에서 VCS > Enable Version Control Integration...  -> git 으로 해줘야지 추적가능하다.

image

image

[레벨업 단축키 정리] 1

2018. 3. 4. 22:48

Ctrl + Space 를 통한 자동완성 ( . 안붙혀도 그전에 완성)


image
image



Ctrl+ Shift  + Space를 통한  현재위치의 자료형을 통한 자동완성

토스트 메세지의 첫번째 인자에는 context가 들어가야한다. 해당 Context관련 자동완성 메뉴를 다 보여준다.

image



Ctrl + Shift + Enter 를 통한   현재 작성중인 코드 자동완성

if만 적은 상태에서 ctrl + shift + enter를 통해 작성중인 구문을 바로 완성시켜보자.

image

아래있던 코드 한줄이 if문에 들어와서 if문 전체가 완성되어버린다.
image



Ctrl + Alt + [ F, V, C ] 자료형을 보고서, 자동으로  Field(클래스의 멤버변수, 객체에서 사용할 것)  or  Variable(해당 지역변수) or   Constance(상수) 바로 만들어주기

만약에 “문자열”만 적어놓고,  ctrl + alt + f, v, c 를 눌러보면, 클래스의 필드 or 해당 지역의 로컬변수  or  상수로 자동완성 시켜준다.
비슷하게 숫자만 적으면 int로서,
‘a’만 적으면 char로써 필드, 로컬 변수, 상수를 자동으로 만들어준다.


지역변수

image

멤버변수(private붙은 , 클래스의 필드)
image

상수
image


Ctrl + E를 통해, 최근 문서 열기

image

[Ctrl + Alt +S ] 을 눌러 환경설정을 바로 띄우자.

image


공백 및 함수분리선 표시하기

환경설정([Ctrl + Alt +S ]) > Editor > Appearance > [ Show method separations ]  와  [Show whitespaces ]  체크

image

다들 나눔고딕이 좋다고 하는데, 기존 default 폰트에 익숙한지라 [D2 coding] 폰트가 매우 맘에 들었습니다.


[1] 안드로이드 스튜디오 폰트 바꾸기


1. D2 Coding 폰트를 다운받는다.(첨부파일)

 - 공식사이트 : https://github.com/naver/d2codingfont

D2Coding-Ver1.3.1-20180115.ttf






2. 다운파일을 더블클릭하여 설치한다.



3. 안드로이드 스튜디오에서 Ctrl+Shift+S를 통해 [세팅] > Editor > Colors&Fonts > Font

 - Scheme는 안드로이드 전체 테마입니다. Darcula는 검은색 바탕이 주인 테마

 - Show only monospaced fonts는 코딩하기 좋은 간격이 같은 폰트들만 표시하는 기능입니다. 

 - Primay font에서 [D2Coding ligature]를 선택하고, 원하는 사이즈를 선택한다(12는 너무 작아 13으로 설정했음)




4. 폰트를 확인한다. 아래그림은 D2Coding 서체로 지정한 글씨입니다. 





[2] Logcat 폰트 바꾸기


1. 아까와 마찬가지로 Ctrl+Shift+S를 통해 [세팅] > Editor > Colors&Fonts > [ Console Font ]로 진입한다

*Android logcat이 아님. (Android logcat는 로그캣 색 바꾸는 기능, Console Font는 로그캣 글자체 바꾸는 기능)


2. 마찬가지로 [D2Coding ligature]를 선택하고, 원하는 사이즈를 선택한다(12는 너무 작아 13으로 설정했음)



[3] Logcat 색 변경


1. Ctrl+Shift+S를 통해 [세팅] > Editor > Colors&Fonts >[ Android LogCat ] 에 진입


2. 로그별 추천색을 선택해준다.


로그레벨별 추천하는 색상

Debug : 6897BB 

Info : 6A8759 

Warn : BBB529 

Error : FF6B68 

Assert : 9876AA









변수 mDefaultLocation에다가 [Shift + F6 ]을 바꿔서 변수를 변경해보자. --> ee로 바꿨더니, mDefaultLocation로 쓰였던 곳 모두가 ee로 변경되었다.

Ctrl + F11을 누르면 해당line에 숫자를 매김 --------> Ctrl + 숫자를 누르면 그 line으로 돌아온다. 기억하기 쉽게 1에만 해놓자.


만약 그냥 F11만 누르면, 숫자 대신 체크무늬만 생긴다 --> Shift + F11로 체크무늬된 북마크로 돌아올 수 있다.

FILE > SETTINGS > 검색창에 [auto import]를 검색해서 모두 체크해주자.



자바코드에서 



자바패키지명 폴더에서





출저 : http://kkangeva.tistory.com/42?category=601602

주요 단축키 모음

Ctrl + Shift + A : 액션찾기

Ctrl + Space : 자동완성

Alt + Insert : 코드생성

Ctrl + / : 주석처리

Alt + Enter : 경고확인 및 퀵픽스

Ctrl + Alt + I : 자동 들여쓰기

Ctrl + B : 선언보기

Ctrl + Alt + Shift + F7 : 사용하는 곳 찾기

Ctrl + F9 : 프로젝트 빌드

Shift + F10 : 프로젝트 실행

Ctrl + G : 라인점프

Ctrl + U : 부모클래스 확인

Ctrl + H : 타입계층 확인

Ctrl + Shift + H : 메소드계층 확인

Ctrl + Alt + H : 콜계층 확인

Shift + F6 : 이름 바꾸기

Ctrl + Alt + M : 함수 추출하기

Ctrl + J : 라이브 템플릿 넣기

모든 단축키 확인하기



안드로이드 단축키는 [Help→ Default Keymap Reference] 로 확인할 수 있다.



메뉴를 클릭하면 사실 인터넷 링크로 연결이 될 뿐이다. 연결되는 페이지는 여기다. PDF 파일이 열리는데 라이센스가 없는 것 같아서 첨부한다.


 IntelliJIDEA_ReferenceCard.pdf


중요한 키들은 일부 소개를 하고 모든 키들은 스크롤을 내리면 확인할 수 있다.


Ctrl + Shift + A : 액션찾기

제일 중요한 단축키다. 단축키가 기억이 나지 않거나 IDE에서 특정한 Action을 원할 때 쓰이는 단축키다. 문제는 한글을 지원하지 않는다는 것인데 그래도 기억하고 있을 필요가 있다. 단축키를 누르면 창이 뜬다. 아래는 ‘run’키워드를 넣어본 모습.


Ctrl + Space : 자동완성

IDE 하면 빼놓을 수 없는 단축키다. 이런 기능이 없었을 때는 도대체 어떻게 개발을 했나 싶다.


Alt + Insert : 코드생성

단축키를 누르면 아래와 같이 창이 나온다. 프로그래머의 타자 횟수를 줄여주는 기능이다. Override Methods 같은 기능은 별도의 단축키가 있지만 Alt + Insert로 대신해도 된다.

Ctrl + / : 주석처리

테스트 코드를 넣거나 디버깅을 할 때 자주 사용하는 단축키이다. 블럭지정을 하고 단축키를 누르면 블럭지정된 코드가 주석처리 된다.

Alt + Enter : 경고확인 및 퀵픽스

코드에 문제가 있을 때 IDE에서 경고를 주는데 경고를 확인하고 바로 고칠 수 있는 단축키이다. 아래는 고의로 에러코드를 넣은 이후 단축키를 사용해봤다.

Ctrl + Alt + I : 자동 들여쓰기

다른 사람이 작성한 코드를 붙여넣고 나서 제일 먼저 사용하는 단축키다.

Ctrl + B : 선언보기

변수/메소드가 사용 중인 곳에서 단축키를 사용하면 변수가 선언된 곳이나 메소드가 구현된 곳으로 이동한다. 선언/구현된 곳에서 해당 단축키를 사용하게 되면 아래와 같이 현재 해당 변수/메소드를 사용 중인 곳으로 이동할 수 있는 창이 나온다.



Ctrl + Alt + Shift + F7 : 사용하는 곳 찾기

변수나 메소드에서 해당 단축키를 누르면 해당 변수나 메소드를 사용하는 곳을 확인할 수 있다. 디버깅을 할 때 꼭 필요한 기능이다. 아래는 mMyName이라는 변수에서 단축키를 사용했을 때의 결과값이다. 2군데에서 사용중임을 알 수 있다.

Ctrl + F9 : 프로젝트 빌드

프로젝트 빌드 단축키

Shift + F10 : 프로젝트 실행

프로젝트 실행 단축키

Ctrl + G : 라인점프

특정 라인으로 점프할 때 사용하는 명령어이다. 로그 기반으로 소스를 분석해야 할 때 필수적으로 사용되는 단축키다.


Ctrl + U : 부모클래스 확인

부모클래스 소스코드로 이동한다.

Ctrl + H : 타입계층 확인

타입의 상속계층을 확인할 수 있는 단축키이다. 예제의 MainActivity의 상속계층을 확인하면 다음과 같이 나온다. 특정 클래스의 기능을 확인할 때 필요한 단축키이다.


Ctrl + Shift + H : 메소드계층 확인

아래와 같은 예제코드를 바탕으로 단축키를 사용했을 때의 결과이다. 빨간색으로 표시된 곳에서 단축키를 사용했다.


Ctrl + Alt + H : 콜계층 확인

특정 메소드를 호출하는 곳이 어디인지 그리고 그 메소드를 호출하는 곳은 어디인지 확인해갈 수 있는 단축키다. 디버깅 시에 필수적인 단축키이다.


Shift + F6 : 이름 바꾸기

변수나 메소드명을 한꺼번에 바꿀 때 사용하는 단축키다. 리팩토링에 필수적인 단축키이다.

Ctrl + Alt + M : 함수 추출하기

마찬가지로 리팩토링에 필수적인 단축키이다. 사실 특정 코드를 블럭지정해서 단축키를 사용하게 되면 멤버 메소드로 쉽게 뽑아낼 수 있다. 아래는 사용 예이다.



Ctrl + J : 라이브 템플릿 넣기

이것도 꽤 유용한 단축키 인데 자동완성의 일종이다. 자주 쓰이는 코드를 생성해주는 기능인데 아래 예는 Vector에 대해서 for 문을 실시하는 코드를 자동으로 생성하는 예이다. [Ctrl + J] 단축키를 사용하지 않고 코드상에서 ‘itve’ 라는 키워드를 사용하면 동일한 효과를 볼 수 있다.



위의 결과로 생성된 코드는 아래와 같다. 변수명들을 하나하나 편집할 수 있도록 포커스가 이동한다.



모든 단축키 확인하기









출처: http://kkangeva.tistory.com/42?category=601602 []

출저 : http://sunghwanjo94.blogspot.kr/2015/07/jcenter.html


Android Studio는 어디에서 라이브러리를 가져오는 걸까?


Android Studio는 build.gradle 에 작성해둔 Maven Repository Server에서 라이브러리를 가져옵니다. 일반적으로 안드로이드는 jcenter와 Maven Central에서 라이브러리를 가져옵니다.

jcenter
jcenter는 bintray.com이 운영하는 Maven Repository입니다. jcenter의 라이브러리를 사용하기 위해서는 build.gradle 파일에 아래와 같이 정의해야 합니다.

1:  allprojects {  
2:    repositories {  
3:      jcenter()  
4:    }  
5:  }  



Maven Central
Maven Central은 sonatype.org이 운영하는 Maven Repository입니다.  Maven Central의 라이브러리를 사용하기 위해서는 build.gradle 파일에 아래와 같이 정의해야 합니다.

1:  allprojects {  
2:    repositories {  
3:      mavenCentral()  
4:    }  
5:  }  


jcenter와 Maven Central은 둘다 표준 안드로이드 라이브러리 저장소들이지만 완전히 다른 장소에서 운영됩니다. 서로 아무런 연관이 없습니다. (jcenter는 Maven Central 저장소에 배포하는 기능을 제공하긴합니다.)

그 외의 곳에서는?
그 외의 다른 저장소로부터 라이브러리를 가져오기 위해선 아래와 같이 저장소의 위치를 명시해주어야 합니다.

1:  repositories {  
2:    maven { url '다른저장소의주소' }  
3:  }  


그렇게 하면 그 저장소에 배포되어있는 다른 라이브러리를 가져올수 있습니다.

1:  dependencies {  
2:    compile '다른저장소에있는.라이브러리'  
3:  }  



그렇다면, 표준서버와 개인서버에 배포하는것 중 무엇이 좋을까요? 개인적으로 사용해야하는 라이브러리는 개인서버에 배포하는것이 낫고, 다른 개발자들과 함께 나누고 싶다면 표준서버에 배포하는것이 좋을겁니다. 그냥 개인의 판단에 따라 마음에 드는곳에 하시면됩니다. 이 글에서는 jCenter에 배포하는법에 대해서 다룹니다.

jcenter와 Maven Central에 대한 이해


jcenter와 Maven Central은 Java/Android 라이브러리들을 배포한다는 공통점을 가지고 있습니다.

초반에 Android Studio에서는 Maven Central을 기본 저장소로 선택했습니다. 과거버전 Android Studio 프로젝트의 build.gradle에서는 mavenCentral()이 정의 되어있을 것입니다.

하지만 Maven Central은 개발자 친화적이지 않았습니다. 라이브러리를 업로드하는것이 정말정말정말로 어렵고 geeky의 레벨에 도달한 개발자들이나 가능했습니다. 그리고 기타등등 문제들 때문에 Android Studio 팀은 jcenter를 기본 저장소로 변경하기로 결정했습니다.

Maven Central에서 jcenter로 변경한것에는 다양한 이유가 있습니다

  1. jcenter는 CDN을 통해 라이브러리를 배포합니다. 따라서 개발자들은 빠른 로딩속도를 즐길수 있습니다.
  2. jcenter는 지구상에서 가장큰 Java Repository입니다. 
  3. 저장소에 라이브러리를 업로드하는것이 정말정말정말 쉽습니다.
  4. 친근한 UI !
  5. 만약 Maven Central에 라이브러리를 배포하고싶다면 bintray site에서 한번의 클릭을 통해 배포할 수 있습니다. ( 한번 설정을 해주어야하긴 합니다)
위와 같은 이유 때문에 jcenter를 기본저장소로 지정한것이 굉장히 좋은판단이였다고 생각됩니다. 라고 하네요. (왜 처음에는 Maven Central를 지정했는지 의문입니다) 


gradle은 어떻게 저장소로부터 라이브러리를 가져올까?


어떻게 jcenter로 라이브러리를 업로드하는지 말하기전에. gradle이 어떻게 저장소로부터 라이브러리를 가지고 오는지 알아봅시다. 예를들어 build.gradle에 아래와 같이 적혀있다면, 그 프로젝트에 해당 라이브러리 파일이 다운로드 됩니다.

1:  compile 'org.nhnnext.sunghwanjo:gearslider:0.1.1'  

기본적으로 라이브러리를 가져오기 위한 문자열은 3개의 부분으로 구성되어 있습니다.

1:  GROUP_ID:ARTIFACT_ID:VERSION  

위에서 GROUP_ID는 org.nhnnext.sunghwanjo 입니다. ARTIFACT_ID는 gearslider이고 VERSION은 0.1.1이죠.

GROUP_ID는 라이브러리의 그룹이름을 의미합니다. 같은 문맥상 여러가지일을 하는 하나이상의 라이브러리가 있을 가능성이 있습니다. 이럴때 GROUP_ID를 공유하면 됩니다. 보통 개발자의 패키지명으로 합니다.
ARTIFACT_ID는 라이브러리의 이름입니다. VERSION은 버전정보인데 어떤 텍스트가 들어가도 상관없습니다. 다만, x.y.z의 형태로 작성하는 것을 추천합니다. 만약 본인이 원한다면 뒤에 -beta를 붙여도 괜찮습니다.

1:  dependencies {  
2:    compile 'com.squareup:otto:1.3.7'  
3:    compile 'com.squareup.picasso:picasso:2.5.2'  
4:    compile 'com.squareup.okhttp:okhttp:2.4.0'  
5:    compile 'com.squareup.retrofit:retrofit:1.9.0'  
6:  }  

위와 같이 의존성을 추가한다면 무슨일이 벌어질까요? Gradle은 Maven Repository Server에 원하는 라이브러리가 존재하는지 물어볼 것입니다. 존재한다면 주로 GROUP_ID:ARTIFACT_ID:VERSION_ID의 형태로 요청된 라이브러리의 경로를 얻을 것입니다.

그리고 Android Studio는 우리의 장비에 파일들을 다운로드하고 컴파일합니다. 그렇다면 라이브러리를 가져오는것은 끝!

이제 저장소로부터 library를 가져오는 방법에 대해서는 알지만 jar 와 aar 파일이 저장소 서버에 올려졌다는 것은 잘 모를것입니다. 또는 aar에 대해서 잘 모른다거나.


[ Ctrl+alt+T ]로 해당 문장을 try/catch로 감싸줄 수 있다.



Android Studio 단축키 정리


Android 플랫폼이 발전을 하면서 개발 툴도 발전해왔다. 초창기 Eclipse로 Android 개발을 했었고 여러 가지 불편사항이 많았지만 무엇보다 무료이고 괜찮은 IDE였기 때문에 만족하며 사용하였었지만 그래도 아쉬움은 많았다. 그러던 와중에 Android 진영에서는 Jetbrains 사에서 만든 IntelliJ 기반의 Android Studio라는 IDE를 발표하며 홍보하기 시작했다.

필자는 Android Studio가 처음 나왔을 때 도입을 시도하려고 했으나 아무래도 안정화가 덜되어 마루타가 되는 느낌을 지울 수가 없었다.

그래서 눈치를 조금 보다가 도입하게 되었고 Gradle 빌드 시스템과 더불어 나를 감탄하게 만들었고 정말 Eclipse라는 존재를 새까맣게 잊게 해주었다.

Android Studio라는 IDE를 사용한 지도 몇 년이 지났지만 개발자스럽지 못하게 IDE 내의 다양한 단축키를 활용하지 못하고 있다는 느낌에 항상 찝찝한 기분이었다. 심지어 포토샵조차 단축키 거의 외우고 있는 나인데… 그래서 오늘 Android Studio 의 단축키에 대해서 정리하고자 한다.


표에서 좌측은 Windows/Linux이고 우측은 Mac환경이다.
  1. Save all(Control + S) : 대부분의 프로그램들의 공통적인 언어라고나 할까? 현재 상황을 저장한다.
  2. Synchronize(Control + Alt + Y) : Gradle 파일 동기화 시켜주는 기능인듯하다.
  3. Maximize/minimize editor(Control + Shift + F12) : Editor 화면을 제외한 Explorer 등 다른 부가 화면을 감추고 Editor 화면을 꽉 차게 확장시킨다. 한번 더 누르면 원상태로 복귀
  4. Add to favorites(Alt + Shift + F) : 정확히 어떤 기능인지 파악이 안된다.
  5. Inspect current file with current profile(Alt + Shift + I) : 현재 파일에 대한 code inspection을 진행한다.
  6. Quick switch scheme(Control + ` ): 팝업창이 하나 뜨는데 IDE 스타일이나 화면 구성에 대한 변환을 쉽게 해주는 기능이 모여있다. 코딩할 때 색다르게 해보고 싶다면 한번 View Mode 설정을 만져보길.
  7. Open settings dialogue(Control + Alt + S) : IDE Settings 창에 대한 단축키.
  8. Open project structure dialog(Control + Alt + Shift + S) : 현재 Project에 대한 project structure창에 대한 단축키.
  9. Switch between tabs and tool window(Control + Tab) : 이 기능도 참 유용한 것 같다. 각 메뉴에 대한 번호만 외우고 있다면 IDE에서 메뉴 전환 및 Open이 정말 편해진다.

General의 단축 키들은 코드를 작성하는 것과는 약간 거리가 있고 IDE 스타일 및 각각의 메뉴에 대한 접근 등이 용이할 수 있다는 장점이 있다.


  1. Search everything(including code and menus)(Press Shift twice) : 정말이지 유용한 기능이다. IDE가 인덱싱이 얼마나 잘되어 있는지 알 수 있다. 원하는 모든 것을 찾을 수 있고 Shift 키를 두번 누르면 되기 때문에 접근성도 뛰어나고 정말 강추하는 단축키.
  2. Find(Control + F) : 현재 파일 내에서 검색을 제공한다.
  3. Find next(F3) : 현재 파일 내에서 검색을 제공하고 F3을 계속 누르면 매칭 되는 위치를 위에서 아래로 하나씩 이동된다.
  4. Find previous(Shift + F3) : Find next의 반대라고 생각하면 된다. 아래에서 위로 이동된다.
  5. Replace(Control + R) : 예를 들어 ‘Text’라고 검색을 하고 ‘Text’ → ‘Text2’ 로 변경하고자 할 때 사용된다. find and replace로 이해하면 된다.
  6. Find action(Control + Shift + A) : IDE에서 제공하는 다양한 Action 들에 대한 단축키.
  7. Search by symbol name(Control + Alt + Shift + N) : Android에서 R로 생성되는 symbol만 검색하는 단축키.
  8. Find class(Control + N) : 이름에서 유추가 되겠지만 현재 프로젝트내에서 Class파일만 검색하는 단축키.
  9. Find file(instead of class)(Control + Shift + N) : 현재 프로젝트의 라이브러리에 있는 class까지 검색하는 단축키.
  10. Find in path(Control + Shift + F) : 검색 조건, 검색 범위, 검색 결과 등을 설정할수 있는 검색 단축키.
  11. Open file structure pop-up(Control + F12) : 현재 파일에 대한 Structure를 작은 팝업에 보여주는 단축키다. Structure 탭을 끄고 개발한다면 유용한 단축키.
  12. Navigate between open editor tabs(Alt + Right/Left Arrow) : Editor창과는 무관하고 Project, Packages, Android 등의 탭 등을 빠르게 변환해주는 단축키.
  13. Jump to source(F4 / Control + Enter) : 자주 사용되는 단축키 중 하나다. 소스를 분석할 때 유용.
  14. Open current editor tab in new window(Shift + F4) : 현재 파일을 새로운 에디터창에 로드한다. 별다른 기능 없는 아주 심플한 에디터 창이다.
  15. Recently opened files pop-up(Control + E) : 최근 이용한 파일들의 목록을 제공하는 단축키다.
  16. Recently edited files pop-up(Control + Shift + E) : 최근 편집했던 파일들의 목록을 제공하는 단축키다. 최근에 어떤 파일들을 수정했는지 히스토리를 알기 쉽다.
  17. Go to last edit location(Control + Shift + Backspace) : 마지막으로 코드를 수정했던 위치로 이동한다.
  18. Close active editor tab(Control + F4) : 현재 열려있는 파일을 닫는다. 이부분은 상당히 불만족스럽다. 자주 사용되어야 하는 기능임에도 불구하고 사용성 및 접근성이 전혀 고려가 안된 단축키다. Control + W가 아니라니.. Eclipse나 브라우저 등도 기본적으로 탭을 닫을때 Control + W 를 이용한다.
  19. Return to editor window from a tool window(ESC) : 이 기능은 editor창이 아닌 다른 window영역에 포커싱을 하면 editor창의 커서가 없어지는데 이 단축키를 이용하면 다시 editor창에 포커싱이 가고 커서가 나타난다.
  20. Hide active or last active tool window(Shift + ESC) : 별 쓸모도 없고 사용하기 불편하다. 그냥 활성화 되있거나 마지막에 사용한 tool window를 닫아주는 단축키.
  21. Go to line(Control + G) : Editor창에 line number를 보이게 하고 쓰면 가끔 유용하다. 입력된 창에 line number를 입력하고 엔터치면 소스코드의 해당 line으로 이동한다.
  22. Open type hierarchy(Control + H) : 선택된 class 등의 계층구조를 펼쳐서 보여주는 단축키.
  23. Open method hierarchy(Control + Shift + H) : 선택된 method의 계층구조를 펼쳐서 보여주는 단축키. 소스 분석이나 흐름등을 파악할 때 유용하다.
  24. Open call hierarchy(Control + Alt + H) : 선택된 method의 호출구조를 파악할때 유용하다. 어디서 호출되는지 펼쳐서 보여주는 단축키.

Navigation and Searching Within Studio 단축키들은 전반적으로 소스 분석에 유용한 단축키들이 많다.


  1. Generate code (getters, setters, constructors, hashCode/equals, toString, new file, new class) (Alt + Insert) : 오버라이딩 가능한 메소드가 무엇이 있는지 확인하거나 생성할 때 유용한 단축키.
  2. Override methods(Control + O) : 1번과 비슷하지만 1번은 getters, setters 등 조금 더 범위가 넓다.
  3. Implement methods(Control + I) : 구현해야되는 추상 메서드 목록을 보여주는 단축키.
  4. Surround with (if…else / try…catch / etc.)(Control + Alt + T) : Live Templates목록에 있는 코드 템플릿 목록을 제공한다. 코딩 시간을 단축시키기 위한 단축키.
  5. Delete line at caret (Control + Y) : 한 라인씩 코드 영역을 삭제하는 단축키.
  6. Collapse/expand current code block(Control + minus/plus) : 코드 블럭을 확장/축소 시키기 위한 단축키다. 중요하지 않은 코드 블럭등을 감춘다면 코드를 보는 양이 줄어들기 때문에 유용하다.
  7. Collapse/expand all code blocks( Control + Shift + minus/plus) : 해당 클래스의 모든 코드블럭을 확장/축소 시킨다. 별 쓸모는 없는듯.
  8. Duplicate current line or selection(Control + D) : 현재 라인에 있는 코드를 복사해서 아래줄에 붙여넣기 한다. 복사 붙여넣기를 대체할수 있는 유용한 단축키.
  9. Basic code completion(Control +Space) : 해당 클래스에서 호출 가능한 메서드 목록을 제공하는 단축키.
  10. Smart code completion (filters the list of methods and variables by expected type)(Control + Shift + Space) : 9번과 크게 다른점을 못느끼겠다.
  11. Complete statement(Control + Shift + Enter) : 보통 메서드 이름 사이에 커서를 두고 엔터를 입력하면 메서드가 분리(?) 된다고 해야되나.. 하지만 이 단축키를 사용하면 커서가 어느위치에 있던지 커서가 줄바꿈 처리되고 기존 커서가 있던 위치에 아무런 영향을 주지 않는다.
  12. Quick documentation lookup(Control + Q) : 주석등을 확인할 때 유용하다. 기존 Eclipse에서는 커서를 갖다 대면 주석등을 확인할 수 있었는데 Android Studio는 그런 기능이 없다. 대신 이 단축키를 사용하면 편리하고 접근성도 좋다.
  13. Show parameters for selected method(Control + P) : 선택된 메서드의 파라미터 목록을 툴팁형태로 제공하는 단축키.
  14. Go to declaration (directly)(Control + B or Control + Click) : F4 단축키와 동일한 기능이다. 손가락이 편한대로 사용하면 될듯.
  15. Go to implementations(Control + Alt + B) : 14번과 비슷하지만 14번은 실제 구현되어 있는 곳으로 바로 이동하지만 이 단축키는 같은 시그너처로 구현되어 있는 곳이 있다면 팝업으로 선택지를 제공한다.
  16. Go to super-method/super-class(Control + U) : 현재 커서가 위치해 있는 메서드의 super method가 있다면 해당 위치로 이동하는 단축키.
  17. Open quick definition lookup(Control + Shift + I) : 선택된 영역의 메서드나 클래스의 코드 구현 내용을 팝업 형태로 제공하는 단축키.
  18. Toggle project tool window visibility(Alt + 1) : Project tool window를 보여주고 감추고 토글 시켜주는 단축키.
  19. Toggle bookmark(F11) : 특정 코드 라인에 북마크를 설정해두면 Shift + F11 키를 통해 다른 코드를 보다가 북마크해둔 코드 영역을 팝업 형태로 볼 수 있다.
  20. Toggle bookmark with mnemonic(Control + F11) : 19번과 동일하지만 단순 북마크가 아니라 숫자나 영어 알파벳 등을 지정할수 있다.
  21. Comment/uncomment with line comment(Control + /) : 자주 사용되는 기능 중 하나인 주석 설정/해제 하는 단축키.
  22. Comment/uncomment with block comment(Control + Shift + /) : // 로 시작하는 주석이 아닌 /* */ 주석을 설정/해제하는 단축키.
  23. Select successively increasing code blocks(Control + W) : 선택되는 코드 블럭의 범위를 점점 넓혀주는 단축키.
  24. Decrease current selection to previous state(Control + Shift + W) : 23번이 증가라면 24번은 감소되는 단축키다.
  25. Move to code block start(Control + [ ) : 코드 블럭의 시작지점으로 이동하는데 점점 넓은 범위로 확장된다.
  26. Move to code block end(Control + ] ) : 코드 블럭의 종료지점으로 이동하는데 점점 넓은 범위로 확장된다.
  27. Select to the code block start(Control + Shift + [ ) : 커서의 위치부터 코드 블럭의 시작지점으로 넓은 범위로 확장되며 select 영역을 늘려가는 단축키.
  28. Select to the code block end(Control + Shift + ] ) : 27번과 동일하지만 코드 블럭으로 종료지점으로 확장되는게 다르다.
  29. Delete to end of word(Control + Delete) : word단위로 코드를 삭제해주는 기능인데 말로 설명하기 복잡하다. 한번 써보면 바로 이해가 될듯.
  30. Delete to start of word(Control + Backspace) : 28,29번 단축키는 커서의 위치 뒤로 삭제를 하지만 이건 커서의 앞으로 삭제를 진행한다.
  31. Optimize imports(Control + Alt + O) : import는 하였으나 사용하지 않는 클래스가 있을 경우 해당 import구문을 제거해준다.
  32. Project quick fix (show intention actions and quick fixes)(Alt + Enter) : 접근 제어자 변경 등 코드를 수정할 때 간단한 퀵메뉴 형태로 제공하는 단축키.
  33. Reformat code(Control + Alt + L) : 코드 포맷을 변경해준다.
  34. Auto-indent lines(Control + Alt + I) : 보통 IDE에서 코드 블럭을 축약된 형태로 제공하기도 하는데 이 단축키를 사용하면 축약된 코드 블럭이 다시 원상태로 보이게 된다.
  35. Indent/unindent lines( Tab/Shift + Tab) : 보통 코드 라인을 맞출 때 사용한다.
  36. Smart line join(Control + Shift + J) : 코드라인을 줄이거나 축약된 형태로 한줄로 표현하거나 할때 유용하다.
  37. Smart line split(Control + Enter) : 보통 엔터를 입력하면 줄바꿈이 되면서 커서도 이동하는데 이 단축키는 줄바꿈은 되지만 커서는 그대로의 위치에 있다.
  38. Start new line(Shift + Enter) : 커서를 메서드 시그너처나 코드 사이에 존재할때 엔터를 입력하면 코드가 깨지게 되지만 이 단축키는 해당 코드를 보존하고 줄바꿈 된다.
  39. Next/previous highlighted error(F2 / Shift + F2) : 보통 Lint에러나 컴파일 에러등 IDE에서 하이라이팅으로 처리되는 부분이 있는데 그부분으로 바로 이동하는 단축키다.

Writing Code 에 있는 단축키들은 전반적으로 코드 작성과 관련된 단축키들이다. 코드를 작성할 때 불필요한 반복 작업을 줄이고 작성시간을 줄이고자 한다면 유용하게 쓰일 수 있을 것이다.


  1. Copy(F5) : 해당 파일을 복사하는 단축키.
  2. Move(F6) : 보통 리팩토링할 때의 패키지 변경등 클래스의 위치를 변경할 때 사용하는 단축키.
  3. Safe delete(Alt + Delete) : 삭제를 할 때 삭제를 하므로써 발생하는 다른 문제 등에 대해서 팝업으로 우선 알려주는 단축키.
  4. Rename(Shift + F6) : 리팩토링할 때 제일 자주 사용되는 단축키다. 이름 변경해주는 단축키.
  5. Change signature(Control + F6) : 메서드 시그너처등을 변경하기 용이한 팝업을 제공하는 단축키.
  6. Inline(Control + Alt + N) : Inline 처리를 하는 단축키.
  7. Extract method(Control + Alt + M) : 해당 코드 블럭을 메서드로 추출하기 위한 단축키.
  8. Extract variable(Control + Alt + V) : 멤버 변수를 지역 변수로 변경하거나 할때 쓰는 단축키다.
  9. Extract field(Control + Alt + F) : 8번과 비슷하다 별 쓸모는 없는듯.
  10. Extract constant(Control + Alt + C) : 외부에 선언된 상수를 내부에 별도의 변수로 재정의 하는등의 작업을 처리하는 단축키.
  11. Extract parameter(Control + Alt + P) : 메서드 내부의 임시 변수 등을 파라미터로 추가하는 단축키.
  12. Commit project to VCS(Control + K) : commit의 단축키.
  13. Update project from VCS(Control + T) : merge, rebase 등을 팝업형태로 제공하는 단축키.
  14. View recent changes(Alt + Shift + C) : 최근 local 변경 사항을 확인할 수 있는 팝업을 제공하는 단축키.
  15. Open VCS popup(Alt + ` (backquote)) : VCS의 각종 오퍼레이션을 목록형태로 제공하는 단축키.

단축키를 정리해보면서 느낀거지만 정말이지 IDE를 제대로 써먹지 못했구나 하는 생각이 들었다. 단축키가 엄청 많지만 대부분 Control + Shift 등의 키와 기능의 알파벳 첫자 등의 조합이므로 기억이 안나도 생각해내는데 큰 어려움은 없었을 것이다.


단일행 주석처리 : (선택 후)Ctrl + /


구간 주석처리 : (선택후) Ctrl + Shift + /


+ Recent posts