1. 자동완성 환경설정
이클립스에서 인텔리제이 처럼 자동완성을 사용하고 싶을 것이다.
코드 상에서 . 을 치면 IDE가 코드를 추천해주는데
인텔리제이 처럼 코드를 작성할 때마다 추천 항목을 보고 싶을 것이다.
이클립스 환경설정에서 다음과 같이 설정하자
상단메뉴에서 Window > Preferece > Java > Editor > Content Assist 클릭
Auto activation triggers for java 에 아래 문자열 복사해서 붙여넣기 하자
<=$:{.@qwertyuioplkjhgfdsazxcvbnm_QWERTYUIOPLKJHGFDSAZXCVBNM
이렇게 설정을 하면 코드를 작성할 때 마다 코드 추천이 되는 것을 확인할 수 있다.
2. space 자동완성 해제
그런데 한가지 문제점이 발생한다.
코드를 작성할 때 마다 코드 추천목록이 나타난다. 이 때 Space 를 입력하면 자동완성이 된다.
예를들어 아래와 같이 for-each문을 작성하려고 한다.
개발자의 의도는 for(String x 를 작성하면 코드가 추천되는데
이 상태에서 x space를 하고 : arr를 입력하려고 하였다. 그러나 space를 누르는 순간 자동으로 완성된다...
엔터만 눌렀을 때 활성화 되었으면 좋겠는데 space도 누르면 같이 적용되니 불편한 점이 있다.
이를 해결해 보자. (버전별로 해결 방법이 다르니 참고하자)
2-1. 이클립스 2018-12 이상
2018-12 이상 버전에서는 아까 자동완성 키워드를 설정해 주었던 설정화면에서
(Window > Preferece > Java > Editor > Content Assist)
Disable insertion triggers except 'Enter' 를 체크하면 문제가 발생하지 않는다.
2-2. 이클립스 2018-09 이하
위의 파일을 받아서 (jar파일을 열어보니 space를 입력했을 때 자동완성이 트리거 되지 않는 코드가 작성되어 있었다.)
컴퓨터에 설치된 이클립스 IDE 폴더 > dropins에 붙여넣고 IDE를 재실행하면 문제가 발생하지 않는다.
(eclipse/dropins 에 파일 넣기)
2018-09 아래 버전에서는 Window > Preferece > Java > Editor > Content Assist 에 들어가면
Disable insertion triggers except 'Enter' 옵션이 없는데
이 옵션은 2018-12 버전부터 추가된 내용이다.