이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba

맥에서 이클립스를 설치하면 자동완성이 안된다.

그 이유는 자동완성의 단축키기 ctrl+space인데 이미 맥은 이 단축키를 쓰고 있기 때문이다.

따라서 다른 단축키를 설정할 필요가 있다. 이번에는 다른 단축키를 설정하는 법을 보도록하자.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba

환경설정(preference)을 눌러준다.

찾기에서 key를 입력하면된다.

그 중에서 General->Keys를 찾는다.

그러면 단축키를 지정하는 항목이 있는데 그중에서 Content Assist를 누른다.

단축키가 ctrl+space로 되어있다. 바꿔주자.

필자의 경우 보통 ctrl+cmd+space를 쓴다.

여러분은 여러분이 하고싶은 단축키를 써라.

이제 제대로 작동하는지 테스트 해보자.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
sysout

이클립스로 자바를 공부하다보면 자동완성 기능을 정말 많이 사용한다.

특히 예를 들어서 위와 같이

System.out.println(); 과 같이 많이 사용하는 문장은

sysout 이라는 단축어를 입력한 후 Ctrl+Space Bar를 눌러서 자동 완성을 시킬 수 가 있다.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
Sysout.out.print();

하지만 위와 같이 System.out.prin(); 와 같이 개행기능이 빠진 프린트 함수도 정말 많이 쓰게 되는데

이 함수는 안타깝게도 기본적인 자동 완성 단축어가 없다.

그래서 이번에는 우리가 sysp라는 단축어로 직접 만들어보도록 하자.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
Window -> Preference

상단 탭에 window -> Preference 순으로 클릭하자.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
수많은 단축어들

좌측에 Java -> Editor -> Templates 순으로 들어가보면

위 사진과 같이 Ctrl + Space bar로 완성할 수 있는 무수히 많은 기본 단축어가 제공되는 것을 볼 수 있다.

New 버튼을 클릭해 새로운 템플릿을 작성하자.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
새로운 단축어를 만들자.

Name 은 약속한 대로 sysp로 지어주도록 하자.

Context는 당연히 Java이고,

Pattern란에 System.out.print(${cursor}); 를 입력하자.

cursor 변수를 적어 넣음으로써 앞으로 자동완성을 할 때 자동으로 커서가 괄호안으로 위치하게 된다.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
자동완성 Proposal에 뜨는 것을 확인 할 수 있다.

이 후 편집창에서 sysp를 입력 후 Ctrl + Space Bar를 누르면 위 사진과 같이 Proposal이 뜨는 것을 확인 할 수 있다.

Enter 를 눌러서 자동완성을 시키고 앞으로 코딩할 때 유용하게 사용하면 좋을 것 같다.

최근 자바를 공부하기 위해 이클립스를 깔아서 공부중이었다.

여느 자바 책이든 비슷하게도 후반부에는 보통 스윙과 awt를 이용한 윈도우 프로그램을 만드는 법을 배운다.

이클립스에는 Ctrl+Space bar 를 누르면 자동완성이 되는데 

가령 main을 입력 후 Ctrl+Space bar를 누르면 

public void main(String [] args)가 자동으로 만들어진다.

이처럼 이클립스의 자동완성 기능은 굉장히 쓸모가 많은데,

문제는 AWT와 Swing으로 넘어와서는 전혀 자동완성이 되지 않는다.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
Container 객체를 만들고 싶지만 자동 완성이 되지 않는다.

예를 들어, Container 객체를 하나 만들고 싶어서 Cont 까지만 치고 Ctrl+Space bar 눌렀지만

전혀 엉뚱한 이상한 Proposal들만 뜨고 전혀 AWT와 스윙에 관련된 제안은 하질 않는다는 점이다.

그렇다면 이러한 상황에서는 어떻게 해야할까

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
상단 탭 Window -> Preference

상단 탭에 Window -> Preference 를 클릭해준다.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
필터링에서 제외해야 한다.

좌측에 Java -> Appearance -> Type Filters 순으로 들어가준다.

보면 java.awt.* 에 체크가 되어있는데 체크가 되어있으면 자동완성 Proposal에서 빠져버린다.

java.awt.* 을 체크를 해제해주자.

이클립스 자동완성 스페이스 바 - ikeullibseu jadong-wanseong seupeiseu ba
잘 되는 모습 확인

다시 편집창으로 돌아와서 Cont만 치고 Ctrl+Space bar 를 누르니 Container가 제대로 뜨는 것을 볼 수 있다.

Enter를 눌러 자동 완성을 해보자.