====== Eclipse Config 설정 및 성능 최적화 ======
===== ''eclipse.ini'' =====
* http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse
*
# 비 윈도우 계열에서는 -XX:MaxPermSize=384m
--launcher.XXMaxPermSize
384m
-showlocation
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx768m
-Xss4m
-Xverify:none
-XX:ReservedCodeCacheSize=128m
-XX:CompileThreshold=20000
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+CMSIncrementalPacing
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
* 위 GC 설정을 하면 멀티코어 CPU에서 GC 할 때 실제로 멀티코어를 사용한다.
* **-Dosgi.requiredJavaVersion=1.6** : 자기가 사용하는 JDK 버전으로 지정해야 가장 좋은 성능을 낸다.
* **''-XX:CompileThreshold=20000''** 값이 작으면 성능이 매우 저하 됐었다. 스스로 값을 조정해 보면서 최적값을 찾을 것.
* ''-showlocation'' : Workspace의 경로를 윈도우 타이틀바에 출력
* ''-XX:ReservedCodeCacheSize=64m'' : "out of space in CodeCache" 오류가 발생할 때 이 값을 증가시킨다. 이 값은 PermGenSpace의 공간에 할당되므로 PermGenSpace도 커야한다고 한다. [[http://stackoverflow.com/questions/6015873/eclipse-dies-every-few-minutes-with-latest-jdk-saying-out-of-space-in-codecache|java - eclipse dies every few minutes with latest jdk saying 'out of space in CodeCache for adapters' - Stack Overflow]]
* ''-XVerify:none'' : [[http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Furun_rconfproc_jvm.html|클래스에 대한 검증을 건너 뜀으로써 성능이 10~15% 향상된다]]
===== 기본 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**를 [[http://dev.naver.com/projects/nanumfont|나눔고딕코딩]] 혹은 그 외 [[http://www.viper.pe.kr/cgi-bin/moin.cgi/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9A%A9_%ED%8F%B0%ED%8A%B8|코딩용 글꼴]]로 변경한다. 코딩용 글꼴은 고정폭이고 숫자 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** 체크
* 저장시 액션 지정 : [[http://blog.naver.com/sungback/90139189173|[이클립스 팁] 이클립스 파일 저장시 공백 없애기]] 참조
* **Preferences -> Java -> Editor -> Save Actions** 에서 저장시 액션들을 지정한다.
* **Remove Trailing whitespace** 선택
* **Remove unused imports** 선택, ...
===== 단축키 추가 =====
* Copy Fully Qualified Name : ''Ctrl+Alt+Q''
* Toggle Folding : ''Ctrl+Shift+='' when Editing Text - 87 키보드에는 숫자 키패드가 없어서 기본 단축키 사용 불가.
* Open Implementation : ''Ctrl-Shift-F3''
===== Workspace 설정 정보 공유 =====
* **File -> Export**에서 **Preferences**를 Export하여 파일로 저장하면 현재 워크스페이스의 설정정보가 저장된다.
* 이 파일을 다른 워크스페이스에서 Import 하면된다.
===== 기타 설정 =====
* [[http://www.jroller.com/lmchung/entry/eclipse_performance_improvement|Eclipse Performance improvement]] 이거 읽고 좀 더 정리
* [[http://slipp.net/wiki/pages/viewpage.action?pageId=5177633|Eclipse Juno 최적화]]
* [[eclipse:zencoding|Zen Coding Eclipse Plugin]]
* [[eclipse:subclipse|Subclipse]]
* [[java:junit:staticimports|JUnit Test시에 Static Import할 기본 항목들]]
* [[http://www.eclipsecolorthemes.org/|Eclipse Color Theme]]에서 에디터 색을 가독성 높은 것으로 바꾼다. 일단 모르면 Zenburn, 혹은 [[http://www.eclipsecolorthemes.org/?view=theme&id=540|GreyAgain]]
* Windows 개인 설정에서 색깔 변경을 한다. Eclipse Color Theme와 유사한 색깔로 한다. 나는 파스텔톤 색 선호.
* [[http://java.dzone.com/articles/xfce-keyboard-shortcuts|Xfce: Keyboard Shortcuts Working in Eclipse IDE]]
* [[http://java.dzone.com/articles/eclipse-tip-help-tidy-package|Package 이름 줄이기]] : ''Window -> Preferences -> Java -> Appearance''에서 **Abbreviate package names**에 ''com.some.package=[csp]'' 형태로 기술.
===== WTP + Tomcat =====
* WTP에서 Tomcat을 실행할 때 항상 메모리 용량을 지정해주는 것이 좋다. 요즘 특히 Spring Framework를 사용하면서 PermGen 부족을 많이 겪게 된다.
* ''Run -> Run Configurations -> 실행기 선택 -> Arguments''
-Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m
* 아니면 위 옵션을 Tomcat 실행 JRE의 ''Default VM arguments''로 지정해둔다. **Preferences -> Java -> Installed JREs -> 원하는 JRE Edit**