이클립스 / STS 설정의 모든 것

이클립스는 개발자에게 없어서는 안되는 필수 도구이다. 자바개발자라면 대부분 이클립스를 사용하고 있을텐데, 이클립스를 자신의 환경에 맞게 설정한 후 사용하면 개발이 더 편해진다. 대장 또한 컴퓨터를 갈아 엎고나서 이클립스를 설치 한 뒤 가장 먼저하는 것이 환경설정이다. 매번 이곳저것 뒤져가며 설정하는 것이 번거로워 이클립스 설정을 한자리에 모두 모아보았다.

내가 꺼려하는 것 중에 하나는 지금하는 설정이 무엇을 변경하는 것인지도 모른 채 하라는데로 설정하는 것이다. 따라서 각 설정마다 최대한 자세히 설명을 첨부하려고 노력했으며, 설명을 보고 자신에게 필요없는 설정은 하지 않으면 된다. 혹시라도 설정하다가 모르는 부분을 댓글로 문의한다면 따로 자세히 포스팅하도록 하겠다.
추가적으로 이클립스 성능향상이나 개발자에게 도움이 되는 설정이 있으면 댓글로 알려주세요!

이클립스를 사용하는 개발자들에게 많은 도움이 되었으면 한다.

Default 설정값

아래는 변경하지 않은 이클립스/STS 설정파일의 전문이다. 혹시라도 설정을 변경하다가 실행이 되지 않거나 오류가 발생한다면, 아래를 참고하여 기본 설정값으로 되돌리면 된다.

이클립스 초기 설정(eclipse.ini 수정)

STS 초기 설정(STS.ini 수정)

변경사항

위 파일에서 vmargs 이하 부분을 아래와 같이 변경한다. 각 설정에 따른 설명은 아래쪽에 기재하였다.

설명

  • Dosgi.requiredJavaVersion=1.6
    JDK 1.6 이상을 설치했을 경우에 1.6으로 설정하면 속도가 빨라진다.
  • Xverify:none
    클래스의 유효성을 검사 생략. (시작 시간이 줄어 빨라진다.)
    초기 시동시 verfify체크를 하지 않는다. 당연히 시동이 빨라진다. 플러그인의 features에 문제가 발생 할 수 있는데 플러그인에 변경 사항이 있을 경우에는 이걸 키고 시동하고, 별 문제 없으면 추가해서 사용한다.
  • XX:+UseParallelGC
    병렬 가비지 컬렉션 사용. (병렬 처리로 속도 향상)
    Parallel Collector를 사용 하도록 한다. 체감 속도가 올라간다. 다중 프로세서를 사용한다면 필수.
  • XX:+AggressiveOpts
    컴파일러의 소수점 최적화 기능을 작동시켜 빨라진다.
  • XX:-UseConcMarkSweepGC
    병행 mark-sweep GC 수행하여 이클립스 GUI의 응답을 빠르게한다.
  • XX:+CMSIncrementalMode=true
    점진적인 GC
  • XX:PermSize=128M
    Permanent Generation(영구 영역) 크기(Out Of Memory 에러시 크기 조절)
  • XX:MaxPermSize=128M
    최대 Permanent Generation 크기
  • XX:NewSize=128M
    New Generation(새 영역) 크기
  • XX:MaxNewSize=128M
    New Generation(새 영역) 의 최대 크기
  • Xms512m
    이클립스가 사용하는 최소 Heap 메모리
  • Xmx512m
    이클립스가 사용하는 최대 Heap 메모리
    최소와 최대를 같은 값으로 설정하면 오르락 내리락 하지않아 빨라진다.

[메모리 정의 예]
1기가 이하 메모리인 컴퓨터인 경우 : -Xms256m -Xmx256m
2기가 ~ 3기가 메모리인 컴퓨터 : -Xms512m -Xmx512m
4기가 이상 메모리인 컴퓨터 : -Xms1024m -Xmx1024m

[ 메모리 설명 ]
JVM 은 3가지 메모리 영역을 관리한다
1. Permanent(영구) 영역 : JVM 클래스와 메소드를 위한 공간. = PermSize 설정
2. New/Young 영역 : 새로 생성된 개체들을 위한 공간. = NewSize 설정
3. Old 영역 : 만들어진지 오래된 객체들의 공간.(New 영역에서 이동해 온다)

필수설정

파일 인코딩 변경

  • Window -> Preferences -> General -> Content Types
  • 메뉴에서 window-preference 선택 후 General->Workspace 에서 Text file encodingUTF-8로 변경
참고
  • http://fordev.tistory.com/79
  • http://dkatlf900.tistory.com/55

기타

컬러 테마 변경

eclipsecolorthemes.org

이클립스 실행시 이미지변경

메모리 보기

Window > Perference > General 에서 Show heap status 체크하면 오른쪽 하단에 메모리를 볼 수 있다. 사용하다가, 메모리가 많이 올라 갔다 싶거나, 느려졌다 싶을 때마다, 옆에 쓰레기통 아이콘을 눌러서 메모리를 줄인다. 그러면 좀 더 쾌적하게 작업을 할 수 있다.

  • 자동 가비지 컬렉션 플러그인 : http://gyuha.tistory.com/290

사용하지 않는 검사 제거

필요 이상으로 많은 검사를 많이 해서 느려지는 경우도 많다. HTML이나 그 외 등등의 검사도 거기에 포함된다. 딱 필요한 검사만 하도록 한다.
Window > Perferences > Validation에서 자기가 사용하는 옵션만 켜둔다.

영어스펠링 검사 끄기
Window > Prereces > General > Editors > Spellings에서 Enable spell checking

기능 Disable / 습관 바꾸기

코딩하는 공간에서 잘 사용하지 않거나, 있는둥 마는둥 하는 기능을 꺼준다.

Automatic folding 끄기

코드 옆에 더하기 표시 나와서, 코드를 펼쳤다.. 닫았다 하는 기능이다.
Window->Preferences->Java(또는 사용언어)->Editor->Folding 모든 옵션을 해제(disable)한다.

Automatic Code Insight 끄기

Window->Preferences->Java(또는 해당언어)->Editor->Code Assist 에서 Enable auto activation 항목을 해제(disable)한다. 자동으로 동작하는 code assist 기능은 꺼지지만, ctrl+space으로 여전히 code assist를 사용할 수 있다. 손이 좀 불편하면 이클립스가 빨라진다. 하지만 대장은 이거 없인 못 살아서 켜놓았다.

사용하지 않는 플러그인 삭제 하기

이클립스를 패키지로 설치하다 보면, 사용하지 않는 기능도 많이 들어 가게 된다. 그 중에서 사용하지 않는 플러그인은 삭제하도록 한다.

사용하지 않는 프로젝트 닫아주기

현재 작업과 관련없는 프로젝트를 닫자. 이클립스가 접근하는 파일의 갯수를 줄여준다.

사용하지 않는 파일은 닫아주기

작업하다가 사용하지 않는 창은 닫는다. 메모리가 절약된다. 이클립스를 종료시 편집하던 문서를 모두 닫고 종료하면 다음에 이클립스를 띄울때 좀 더 가볍게 띄울 수 있다. 그리고 Window->Preferences->General->Editors에서 Close editors automatically를 켜준다. 그럼 아래 설정된 숫자만큼만 문서가 열린다. 그 이상의 문서는 자동으로 닫아진다. 이렇게 사용하면, 무심결에 많이 열린 파일이 적어진다. 메모리 절약은 보너스!

사용하지 않는 플러그인을 start list에서 제외하기

Window > Preferences > General > Startup and Shutdown에서, 불필요한 플러그인을 startup list에서 제외한다. 이렇게 하면 이클립스 실행시 좀 더 가볍게 실행 할 수 있다.

참고
  • http://yun0223.tistory.com/42

기본 Preferences 최적화

  • 4.2(Juno)일 경우 Preferences → General → Appearance
    • Theme을 Classic으로 변경해야 빨라진다.
    • Enabled animations를 끈다.
  • Preferences → General : Show Heap status : 메모리 사용상태와 GC 강제 실행 버튼를 보여줌.
  • Preferences → General → Editors → Text Editors : Show line numbers
  • Preferences → General → Appearance → Colors and Fonts : Basic Text Font를 나눔고딕코딩 혹은 그 외 코딩용 글꼴로 변경한다. 코딩용 글꼴은 고정폭이고 숫자 1,대문자 아이(I), 소문자엘(l), 숫자 0과 알파벳 오(O)를 구분 할 수 있어야 한다.
  • Preferences → General → Editors → Text Editors에서 배경색 눈 안아픈 회색 톤으로 조정
  • Preferences → General → Workspace에서 Text file encoding과 New text file delimiter의 기본 값을 정해준다.
  • Maven과 연동해서 사용할 경우, Maven 빌드에서 생성한 target 디렉토리의 JSP/HTML 등을 Eclipse가 Validation하느라 상당한 시간을 소모하기도 한다. 이 때는 Preferences → Validation → 각 항목에서 Exclude Gruop을 만들고 target/ 디렉토리를 Rule로 추가한다.
  • Preferences → Team → Ignored Resources에 target과 bin 등의 빌드 디렉토리 추가.
  • Windows 환경 성능 최적화
    • 프로젝트 폴더의 속성 → 일반 → 고급 : 이 폴더의 파일 속성 및 내용 색인 허용 체크 해제
    • 백신 프로그램의 실시간 감시에서 프로젝트 폴더를 예외로 설정한다.(파일 락을 거는 현상도 줄어들겠지?)
  • 기타 최적화
    • spell check 해제 : Preferences → General → Editors → Text Editors → Spelling에서 체크 해제.
    • Validation에서 build 쪽은 꼭 필요한 것만 남기고 모두 해제
    • General → Appearance → Label Decorations에서 SVN/CVS 및 기타 등등의 데코레이션 제거.
  • DIFF에서 공백 무시 Preferences → General → Compare/Patch에서 Ignore white space 체크
  • 저장시 액션 지정 : 이클립스 파일 저장시 공백 없애기
    • Preferences → Java → Editor → Save Actions 에서 저장시 액션들을 지정한다.
    • Remove Trailing whitespace 선택
    • Remove unused imports 선택
참고
  • http://kwonnam.pe.kr/wiki/eclipse/config
  • http://blog.naver.com/sungback/90139189173

탭 사이즈 변경

  • http://jedagi.tistory.com/30

자동줄바꿈(word wrap)

  • http://blackun.egloos.com/5179984
  • http://ahtik.com/eclipse-update/

참고

  • http://blog.naver.com/PostView.nhn?blogId=sungback&logNo=90097516641
  • http://thdnf1004.tistory.com/8
  • http://yun0223.tistory.com/42
  • http://gyuha.tistory.com/290
  • http://blog.bagesoft.com/443
  • http://www.slipp.net/wiki/pages/viewpage.action?pageId=5177633
  • http://kwonnam.pe.kr/wiki/eclipse/config
  • http://blog.naver.com/sungback/90139189173
  • http://eclipsecolorthemes.org/

About dezang

애플제품과 구글서비스를 좋아합니다. 블로그에서는 반말사용하며 시크한 척하지만 실제로는 예의바르고 상냥합니다^^. 언젠가는 세상을 바꾸는 개발자가 되고자 합니다. 언젠가는...

7 comments on “이클립스 / STS 설정의 모든 것

  1. 저도 이번프로젝트에서 sts를 쓰는데 말씀대로 해도 느려지는건 어쩔수없네요…. code assist 로 클래스를 찾거나 가져오는데 3분이상이걸리는데…도움쫌 주실수있나요??포맷을하고 멀해도 아무런 소용이없네요…부탁드려요

    1. 저도 회사에서 STS를 설치하고 사용하다가 너~~무 느려서 이클립스를 설치하고, STS 플러그인을 설치해서 썼어요. 빨라진 것을 체감할 정도였어요. STS에서 필요한 기능들만 플러그인으로 설치하여 사용해보세요~

      1. 아직초보로 필요한 플러그인들이 먼지를 잘모르겠네요 그냥 sts사이트 들어가서 받은 이클립스에서 groovy와 groovy-Ecipse for juno2.0을 설치한거밖에없는데 돌아버릴지경이네요..ㅠ.ㅠ

      2. 어떤 프로젝트를 시작하시려는건지 모르겠지만, 기본적인 Spring 개발을 하려고 하신다면 여기를 참조하셔서 설치하면 될 것 같습니다. 램이나 CPU가 너무 낮진 않은지도 확인해보세요. 특히 램이 부족하면 현저하게 느려지더라구요.

  2. 아이코어7 2.4에 랩8기가에 하드도 ssd라서 죽어도 안딸리는 사양인데..ㅠㅠ일단 참조하고 말씀드릴게요 ㅎㅎ

      1. 해결되었다니 다행입니다. 혹시 무엇이 문제였는지 알 수 있을까요? 나중에 문제생겼을 때 참고했으면 하는데, 간단하게 문제원인과 해결방법을 알 수 있을까요?

댓글 남기기