[IntelliJ] MAC 단축키
뭐가 이상할 때
[Build] > [Rebuild project]
[File] > [Invalidate caches / Restart] > [Invalidate and Restart]
이래도 안되면 그냥 인텔리제이 끄고 프로젝트의 .idea와 .gradle을 지우고 다시 인텔리제이를 켰다.
단축키
⌃ + ⇧ + SPACE (길게): 스마트완성 - 현재 컨텍스트에 적용할 수 있는 가장 적합한 심볼 목록 표시
⌃ + ⇧ + SPACE (길게)를 두 번: 체인완성 - 스마트완성보다 자세히 분석하여, 현재 컨텍스트에서 메서드나 게터로 액세스할 수 있으며 적용 가능한 심볼 목록을 표시
⌥ + ENTER : 오류 수정을 위해 선택할 수 있는 액션 목록이 열림
⌘ + N : (프로젝트 도구창) 새 항목 만들기
⇧ + ⇧ : 검색 - 인텔리제이 또는 프로젝트와 관련된 것을 열기 or 실행하기 or 이동하기
⇧ + ⌘ + A : 작업 찾기 - 명령을 찾아서 실행 or 도구창 열기 or 설정 검색하기 - 필요한 항목 선택 후 Enter
⌥ + ENTER : 오류 수정을 위해 선택할 수 있는 액션 목록이 열림
F2 : 다음 강조 표시된 오류로 이동
⇧ + F2 : 이전 강조 표시된 오류로 이동
⌘ + E : 최근 파일들 보기 - 목록에서 최근에 연 파일 선택
⇧ + ⌘ + ENTER : Vim의 o키와 같은 기능, 다음 줄에 공란 삽입하고 이동
⌥ + ⌘ + L: 코드 포맷 - 현재 코드 스타일 설정에 따라 포매팅
⌃ + T : 리팩터링 창 호출
⌃ + V : VCS 운영
⌥ + ⬆️ : 선택 확장 - 코드 선택 범위를 늘려나감
⌥ + ⬇️ : 선택 축소 - 코드 선택 범위를 줄여나감
⌘ + / : 라인 주석 // 추가 or 제거
⌥ + ⌘ + / : 블록 주석 /* */ 추가
⌘ + B : 메서드 또는 변수의 초기 선언으로 이동, 초기 선언에서 선택시 사용하는 곳으로 이동
⌥ + F7 : 사용한 곳 찾기 - 프로젝트 전체에서 해당 요소가 사용된 모든 장소를 Find 탭에 표시
⌘ + 1 : 프로젝트 도구창에 포커스
ESC : 에디터에 포커스
⌥ + F12 : 터미널창에 포커스
⌘ + , : 키맵 구성 확인
⇧ + ⌘ + 방향키 : 도구 창의 크기 조정
⇧ + F6 : 요소의 이름 변경
⌥ + ⌘ + V : 변수 추출
⌥ + ⌘ + P : 파라미터 추출
⌥ + ⌘ + F : 필드 추출
⌥ + ⌘ + C : 상수 추출
⌥ + ⌘ + V : 변수 추출
⌥ + ⌘ + M : 메서드 추출
⌥ + ⌘ + N : 인라인 (추출 반대)
F5 : 클래스 복사
F6 : 메서드, 필드 이동
⌘ + F6 : 클래스 또는 메서드의 Signature 변경 - 접근제어자, 파라미터 타입 및 이름 등
⇧ + ⌘ + 방향키 위/아래 : 줄 이동(여러 줄도 가능함)
⌘ + D : 그 줄 복사
⌘ + X : 그 줄 제거
⌥ + ⌘ + O : import 제거
프로젝트 구역
Command + Enter >> 프로젝트 설정창
자동완성 (쓸 것 같은 것들...)
클래스 블럭에서의 자동완성
/* psvm */
/* main */
public static void main(String[] args) {
}
/* psf */
/* prsf */
public static final
/* psfi */
public static final int
/* psfs */
public static final String
/* todo
* 주석으로 오늘 날짜가 추가되는 듯?
*/
// TODO: 06/02/2020
/* fixme */
// FIXME: 06/02/2020
/* STOPSHIP */
// STOPSHIP: 06/02/2020
/* logt */
private static final String TAG = "Test";
/* key */
private static final String KEY_ = "";
/* geti */
public static Test getInstance() {
return ;
}
/* sbc */
///////////////////////////////////////////////////////////////////////////
//
///////////////////////////////////////////////////////////////////////////
/* starter */
public static void start(android.content.Context context) {
android.content.Intent starter = new Intent(context, Test.class);
starter.putExtra();
context.startActivity(starter);
}
/* const */
private static final int = 363;
/* newInstance */
public static Test newInstance() {
android.os.Bundle args = new Bundle();
Test fragment = new Test();
fragment.setArguments(args);
return fragment;
}
/* noInstance */
private Test() {
//no instance
}
/* noop */
/* no-op */
메서드 블럭에서의 자동완성
/* ritar */
for (int i = args.length - 1; i >= 0; i--) {
String arg = args[i];
}
/* rgs */
.getString(R.string.)
/* rouiT */
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
/* sout */
System.out.println();
/* soutv */
System.out.println("args = " + args);
/* souf */
System.out.printf("");
/* soutm */
System.out.println("Test.main");
/* soutp */
System.out.println("args = " + Arrays.deepToString(args));
/* serr */
System.err.println();
/* fori */
for (int i = 0; i < ; i++) {
}
/* foreach */
for (:
) {
}
/* wtf */
android.util.Log.wtf(TAG, "main: ", );
/* todo */
// TODO: 06/02/2020
/* stopship */
// STOPSHIP: 06/02/2020
/* FIXME */
// FIXME: 06/02/2020
/* lst */
args[args.length - 1]
/* thr */
throw new
/* toar */
.toArray(new Object[.size()])
/* ifn */
if (args == null) {
}
/* lazy */
if (args == null) {
args = new String[] ();
}
/* inn */
if (args != null) {
}
/* inst */
if (args instanceof Object) {
Object o = (Object) args;
}
/* itar */
for (int i = 0; i < args.length; i++) {
String arg = args[i];
}
/* itco */
for (Iterator iterator = collection.iterator(); iterator.hasNext(); ) {
Object next = iterator.next();
}
/* iten */
while (enumeration.hasMoreElements()) {
Object nextElement = enumeration.nextElement();
}
/* iter */
for (String arg : args) {
}
/* itit */
while (iterator.hasNext()) {
Object next = iterator.next();
}
/* itli */
for (int i = 0; i < list.size(); i++) {
Object o = list.get(i);
}
/* ittok */
for (StringTokenizer stringTokenizer = new StringTokenizer(); stringTokenizer.hasMoreTokens(); ) {
String s = stringTokenizer.nextToken();
}
/*